WHO Immunization Implementation Guide
0.2.0 - ci-build
WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/ and changes regularly. See the Directory of published versions
| Draft as of 2025-11-25 |
<Library xmlns="http://hl7.org/fhir">
<id value="IMMZD2DTMeningococcalEncounterElements"/>
<meta>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"/>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"/>
<profile
value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"/>
<profile
value="http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"/>
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<div>
<table class="grid dict">
<tr>
<th scope="row"><b>Title: </b></th>
<td style="padding-left: 4px;">IMMZD2DTMeningococcalEncounterElements</td>
</tr>
<tr>
<th scope="row"><b>Id: </b></th>
<td style="padding-left: 4px;">IMMZD2DTMeningococcalEncounterElements</td>
</tr>
<tr>
<th scope="row"><b>Version: </b></th>
<td style="padding-left: 4px;">0.2.0</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="Library-IMMZD2DTMeningococcalEncounterElements.html">IMMZD2DTMeningococcalEncounterElements</a></td>
</tr>
<tr>
<th scope="row"><b>Status: </b></th>
<td style="padding-left: 4px;">draft</td>
</tr>
<tr>
<th scope="row"><b>Type: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<b>system: </b> <span><a href="http://terminology.hl7.org/7.0.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a></span>
</p>
<p style="margin-bottom: 5px;">
<b>code: </b> <span>logic-library</span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Date: </b></th>
<td style="padding-left: 4px;">2025-11-25 20:07:03+0000</td>
</tr>
<tr>
<th scope="row"><b>Publisher: </b></th>
<td style="padding-left: 4px;">WHO</td>
</tr>
<tr>
<th scope="row"><b>Description: </b></th>
<td style="padding-left: 4px;"><div><p>This library defines encounter-based elements for Meningococcal used throughout the Immunization CPG</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Related Artifacts: </b></th>
<td style="padding-left: 4px;">
<p><b>Dependencies</b></p>
<ul>
<li><a href="Library-WHOConcepts.html">WHOConcepts</a></li>
<li><a href="Library-WHOCommon.html">WHOCommon</a></li>
<li><a href="Library-WHOElements.html">WHOElements</a></li>
<li><a href="Library-IMMZCommon.html">IMMZCommon</a></li>
<li><a href="Library-IMMZConcepts.html">IMMZConcepts</a></li>
<li><a href="Library-IMMZEncounterElements.html">IMMZEncounterElements</a></li>
<li><a href="Library-IMMZD2DTMeningococcalElements.html">IMMZD2DTMeningococcalElements</a></li>
</ul>
</td>
</tr>
<tr>
<th scope="row"><b>Parameters: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<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>
<tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>EncounterId</th><th>string</th><th>0</th><th>1</th><th>In</th></tr>
<tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Meningococcal Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>
<tr><th>Meningococcal Primary Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>
<tr><th>Number of Meningococcal Primary Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age is less than 9 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>No meningococcal primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age is more than 9 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>One meningococcal primary series dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age is less than 3 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age is more than or equal to 3 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Date of Latest Primary Meningococcal Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>The latest meningococcal dose was administered less than 8 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>The latest meningococcal dose was administered more than 8 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Two meningococcal primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age is less than 2 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age is more than or equal to 2 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Date of First Primary Series Meningococcal Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age was less than or equal to 11 months when the primary series was started</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>The latest meningococcal dose was administered less than 2 months ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>The latest meningococcal dose was administered more than 2 months ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age was more than 11 months when the primary series was started</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>The latest meningococcal dose was administered less than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Meningococcal Booster Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>
<tr><th>Number of Meningococcal Booster Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>No meningococcal booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>The latest meningococcal dose was administered more than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Meningococcal booster dose was administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age is less than 2 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age is more than or equal to 2 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age is more than or equal to 9 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age was less than or equal to 23 months when the primary series was started</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>The latest meningococcal dose was administered less than 3 months ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>The latest meningococcal dose was administered more than 3 months ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age was more than 23 months when the primary series was started</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>Client's age is more than 2 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>The latest meningococcal dose was administered less than 3 years ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
<tr><th>The latest meningococcal dose was administered more than 3 years ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr><th><a id="cql-content"><b>Content: </b></a> text/cql</th></tr>
<tr><td><pre><code class="language-cql">
/*
* Library: IMMZD2DTMeningococcalEncounterElements
*/
library IMMZD2DTMeningococcalEncounterElements
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'
include WHOConcepts
include WHOCommon called WC
include WHOElements called WE
include IMMZCommon called Common
include IMMZConcepts called Concepts
include IMMZEncounterElements called Encounter
include IMMZD2DTMeningococcalElements called MeningococcalElements
parameter Today Date default Today()
parameter EncounterId String
context Patient
/*
@internal: Meningococcal containing Doses Administered to Patient
*/
define "Meningococcal Doses Administered to Patient":
Encounter."Doses Administered to Patient" I
where
I.vaccineCode in Concepts."Meningococcal vaccines"
/*
@internal: Meningococcal containing Doses Administered to Patient that are in the Primary series
*/
define "Meningococcal Primary Series Doses Administered to Patient":
"Meningococcal Doses Administered to Patient".seriesPrimary()
/*
@internal: Number of Meningococcal Primary Series doses
*/
define "Number of Meningococcal Primary Series Doses Administered":
Count("Meningococcal Primary Series Doses Administered to Patient")
/*
@input: Client's age is less than 9 months
@pseudocode: Today's date − "Date of birth" < 9 months
@code: Client's age is less than 9 months-41
@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 1 dose: MenA conjugate vaccine, 1-dose schedule
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule
*/
define "Client's age is less than 9 months":
Encounter."Current Patient Age In Months" < 9
/*
@input: No meningococcal primary series dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Meningococcal vaccines" and "Type of dose" = "Primary series") = 0
@code: No meningococcal primary series dose was administered-122
@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 1 dose: MenA conjugate vaccine, 1-dose schedule
@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 2 doses: MenA conjugate vaccine, 2-dose schedule (specific context where there is a compelling reason to vaccinate infants aged under 9 months)
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 1 dose: Quadrivalent conjugate vaccines (A,C,W135,Y-CRM), 1-dose schedule
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule
@decision: IMMZ.D2.DT.Meningococcal.Polysaccharide vaccines: Polysaccharide vaccines schedule
(Polysaccharide vaccines can be used to control outbreaks in countries where limited economic resources or insufficient supply restrict the use of meningococcal conjugate vaccines)
*/
define "No meningococcal primary series dose was administered":
"Number of Meningococcal Primary Series Doses Administered" = 0
/*
@input: Client's age is more than 9 months
@pseudocode: Today's date − "Date of birth" ≥ 9 months
@code: Client's age is more than 9 months-41
@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 1 dose: MenA conjugate vaccine, 1-dose schedule
*/
define "Client's age is more than 9 months":
Encounter."Current Patient Age In Months" >= 9
/*
@input: One meningococcal primary series dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Meningococcal vaccines" and "Type of dose" = "Primary series") = 1
@code: One meningococcal primary series dose was administered-122
@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 1 dose: MenA conjugate vaccine, 1-dose schedule
@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 2 doses: MenA conjugate vaccine, 2-dose schedule (specific context where there is a compelling reason to vaccinate infants aged under 9 months)
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 1 dose: Quadrivalent conjugate vaccines (A,C,W135,Y-CRM), 1-dose schedule
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule
@decision: IMMZ.D2.DT.Meningococcal.Polysaccharide vaccines: Polysaccharide vaccines schedule
(Polysaccharide vaccines can be used to control outbreaks in countries where limited economic resources or insufficient supply restrict the use of meningococcal conjugate vaccines)
*/
define "One meningococcal primary series dose was administered":
"Number of Meningococcal Primary Series Doses Administered" = 1
/*
@input: Client's age is less than 3 months
@pseudocode: Today's date − "Date of birth" < 3 months
@code: Client's age is less than 3 months-41
@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 2 doses: MenA conjugate vaccine, 2-dose schedule (specific context where there is a compelling reason to vaccinate infants aged under 9 months)
*/
define "Client's age is less than 3 months":
Encounter."Current Patient Age In Months" < 3
/*
@input: Client's age is more than or equal to 3 months
@pseudocode: Today's date − "Date of birth" ≥ 3 months
@code: Client's age is more than or equal to 3 months-41
@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 2 doses: MenA conjugate vaccine, 2-dose schedule (specific context where there is a compelling reason to vaccinate infants aged under 9 months)
*/
define "Client's age is more than or equal to 3 months":
Encounter."Current Patient Age In Months" >= 3
/*
@input: The latest meningococcal dose was administered less than 8 weeks ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") < 8 weeks
@code: The latest meningococcal dose was administered less than 8 weeks ago-105
@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 2 doses: MenA conjugate vaccine, 2-dose schedule (specific context where there is a compelling reason to vaccinate infants aged under 9 months)
*/
define "The latest meningococcal dose was administered less than 8 weeks ago":
"Date of Latest Primary Meningococcal Dose" is not null
and duration in weeks between "Date of Latest Primary Meningococcal Dose" and Today < 8
/*
@input: The latest meningococcal dose was administered more than 8 weeks ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") ≥ 8 weeks
@code: The latest meningococcal dose was administered more than 8 weeks ago-105
@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 2 doses: MenA conjugate vaccine, 2-dose schedule (specific context where there is a compelling reason to vaccinate infants aged under 9 months)
*/
define "The latest meningococcal dose was administered more than 8 weeks ago":
not "The latest meningococcal dose was administered less than 8 weeks ago"
/*
@input: Two meningococcal primary series doses were administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Meningococcal vaccines" and "Type of dose" = "Primary series") = 2
@code: Two meningococcal primary series doses were administered-122
@decision: IMMZ.D2.DT.Meningococcal.MenA conjugate vaccine 2 doses: MenA conjugate vaccine, 2-dose schedule (specific context where there is a compelling reason to vaccinate infants aged under 9 months)
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule
*/
define "Two meningococcal primary series doses were administered":
"Number of Meningococcal Primary Series Doses Administered" = 2
/*
@input: Client's age is less than 2 months
@pseudocode: Today's date − "Date of birth" < 2 months
@code: Client's age is less than 2 months-41
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
*/
define "Client's age is less than 2 months":
Encounter."Current Patient Age In Months" < 2
/*
@input: Client's age is more than or equal to 2 months
@pseudocode: Today's date − "Date of birth" ≥ 2 months
@code: Client's age is more than or equal to 2 months-41
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
*/
define "Client's age is more than or equal to 2 months":
Encounter."Current Patient Age In Months" >= 2
/*
@input: Client's age was less than or equal to 11 months when the primary series was started
@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") - "Date of birth" ≤ 11 months
@code: Client's age was less than or equal to 11 months when the primary series was started-110
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
*/
define "Client's age was less than or equal to 11 months when the primary series was started":
AgeInMonthsAt("Date of First Primary Series Meningococcal Dose") <= 11
/*
@input: The latest meningococcal dose was administered less than 2 months ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") < 2 months
@code: The latest meningococcal dose was administered less than 2 months ago-106
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
*/
define "The latest meningococcal dose was administered less than 2 months ago":
"Date of Latest Primary Meningococcal Dose" is not null
and duration in months between "Date of Latest Primary Meningococcal Dose" and Today < 2
/*
@input: The latest meningococcal dose was administered more than 2 months ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") ≥ 2 months
@code: The latest meningococcal dose was administered more than 2 months ago-106
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
*/
define "The latest meningococcal dose was administered more than 2 months ago":
not "The latest meningococcal dose was administered less than 2 months ago"
/*
@input: Client's age was more than 11 months when the primary series was started
@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") - "Date of birth" > 11 months
@code: Client's age was more than 11 months when the primary series was started-110
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
*/
define "Client's age was more than 11 months when the primary series was started":
AgeInMonthsAt("Date of First Primary Series Meningococcal Dose") > 11
/*
@input: The latest meningococcal dose was administered less than 1 year ago
@pseudocode: Today's date − latest "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") < 1 year
@code: The latest meningococcal dose was administered less than 1 year ago-111
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
*/
define "The latest meningococcal dose was administered less than 1 year ago":
"Date of Latest Primary Meningococcal Dose" is not null
and duration in years between "Date of Latest Primary Meningococcal Dose" and Today < 1
/*
@input: No meningococcal booster dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Meningococcal vaccines" and "Type of dose" = "Booster dose") = 0
@code: No meningococcal booster dose was administered-120
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
@decision: IMMZ.D2.DT.Meningococcal.Polysaccharide vaccines: Polysaccharide vaccines schedule
(Polysaccharide vaccines can be used to control outbreaks in countries where limited economic resources or insufficient supply restrict the use of meningococcal conjugate vaccines)
*/
define "No meningococcal booster dose was administered":
"Number of Meningococcal Booster Series Doses Administered" = 0
/*
@input: The latest meningococcal dose was administered more than 1 year ago
@pseudocode: Today's date − latest "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") ≥ 1 year
@code: The latest meningococcal dose was administered more than 1 year ago-111
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
*/
define "The latest meningococcal dose was administered more than 1 year ago":
not "The latest meningococcal dose was administered less than 1 year ago"
/*
@input: Meningococcal booster dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Meningococcal vaccines" and "Type of dose" = "Booster dose") = 1
@code: Meningococcal booster dose was administered-120
@decision: IMMZ.D2.DT.Meningococcal.Monovalent MenC conjugate vaccine: Monovalent MenC conjugate vaccine schedule
@decision: IMMZ.D2.DT.Meningococcal.Polysaccharide vaccines: Polysaccharide vaccines schedule
(Polysaccharide vaccines can be used to control outbreaks in countries where limited economic resources or insufficient supply restrict the use of meningococcal conjugate vaccines)
*/
define "Meningococcal booster dose was administered":
"Number of Meningococcal Booster Series Doses Administered" = 1
/*
@input: Client's age is less than 2 years
@pseudocode: Today's date − "Date of birth" < 2 years
@code: Client's age is less than 2 years-40
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 1 dose: Quadrivalent conjugate vaccines (A,C,W135,Y-CRM), 1-dose schedule
@decision: IMMZ.D2.DT.Meningococcal.Polysaccharide vaccines: Polysaccharide vaccines schedule
(Polysaccharide vaccines can be used to control outbreaks in countries where limited economic resources or insufficient supply restrict the use of meningococcal conjugate vaccines)
*/
define "Client's age is less than 2 years":
Encounter."Current Patient Age In Years" < 2
/*
@input: Client's age is more than or equal to 2 years
@pseudocode: Today's date − "Date of birth" ≥ 2 years
@code: Client's age is more than or equal to 2 years-40
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 1 dose: Quadrivalent conjugate vaccines (A,C,W135,Y-CRM), 1-dose schedule
*/
define "Client's age is more than or equal to 2 years":
Encounter."Current Patient Age In Years" >= 2
/*
@input: Client's age is more than or equal to 9 months
@pseudocode: Today's date − "Date of birth" ≥ 9 months
@code: Client's age is more than or equal to 9 months-41
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule
*/
define "Client's age is more than or equal to 9 months":
"Client's age is more than 9 months"
/*
@input: Client's age was less than or equal to 23 months when the primary series was started
@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") - "Date of birth" ≤ 23 months
@code: Client's age was less than or equal to 23 months when the primary series was started-110
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule
*/
define "Client's age was less than or equal to 23 months when the primary series was started":
AgeInMonthsAt("Date of First Primary Series Meningococcal Dose") <= 23
/*
@input: The latest meningococcal dose was administered less than 3 months ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") < 3 months
@code: The latest meningococcal dose was administered less than 3 months ago-106
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule
*/
define "The latest meningococcal dose was administered less than 3 months ago":
"Date of Latest Primary Meningococcal Dose" is not null
and duration in months between "Date of Latest Primary Meningococcal Dose" and Today < 3
/*
@input: The latest meningococcal dose was administered more than 3 months ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") ≥ 3 months
@code: The latest meningococcal dose was administered more than 3 months ago-106
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule
*/
define "The latest meningococcal dose was administered more than 3 months ago":
not "The latest meningococcal dose was administered less than 3 months ago"
/*
@input: Client's age was more than 23 months when the primary series was started
@pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") - "Date of birth" > 23 months
@code: Client's age was more than 23 months when the primary series was started-110
@decision: IMMZ.D2.DT.Meningococcal.Quadrivalent conjugate vaccines 2 doses: Quadrivalent conjugate vaccines (A,C,W135,Y-D), 2-dose schedule
*/
define "Client's age was more than 23 months when the primary series was started":
AgeInMonthsAt("Date of First Primary Series Meningococcal Dose") > 23
/*
@input: Client's age is more than 2 years
@pseudocode: Today's date − "Date of birth" ≥ 2 years
@code: Client's age is more than 2 years-40
@decision: IMMZ.D2.DT.Meningococcal.Polysaccharide vaccines: Polysaccharide vaccines schedule
(Polysaccharide vaccines can be used to control outbreaks in countries where limited economic resources or insufficient supply restrict the use of meningococcal conjugate vaccines)
*/
define "Client's age is more than 2 years":
"Client's age is more than or equal to 2 years"
/*
@input: The latest meningococcal dose was administered less than 3 years ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") < 3 years
@code: The latest meningococcal dose was administered less than 3 years ago-105
@decision: IMMZ.D2.DT.Meningococcal.Polysaccharide vaccines: Polysaccharide vaccines schedule
(Polysaccharide vaccines can be used to control outbreaks in countries where limited economic resources or insufficient supply restrict the use of meningococcal conjugate vaccines)
*/
define "The latest meningococcal dose was administered less than 3 years ago":
"Date of Latest Primary Meningococcal Dose" is not null
and duration in years between "Date of Latest Primary Meningococcal Dose" and Today < 3
/*
@input: The latest meningococcal dose was administered more than 3 years ago
@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Meningococcal vaccines") ≥ 3 years
@code: The latest meningococcal dose was administered more than 3 years ago-105
@decision: IMMZ.D2.DT.Meningococcal.Polysaccharide vaccines: Polysaccharide vaccines schedule
(Polysaccharide vaccines can be used to control outbreaks in countries where limited economic resources or insufficient supply restrict the use of meningococcal conjugate vaccines)
*/
define "The latest meningococcal dose was administered more than 3 years ago":
not "The latest meningococcal dose was administered less than 3 years ago"
/*
@internal: Date of Latest Primary Meningococcal Dose
*/
define "Date of Latest Primary Meningococcal Dose":
date from start of "Meningococcal Primary Series Doses Administered to Patient".mostRecent().occurrence.toInterval()
/*
@internal: Date of First Primary Series Meningococcal Dose
*/
define "Date of First Primary Series Meningococcal Dose":
date from start of "Meningococcal Primary Series Doses Administered to Patient".earliest().occurrence.toInterval()
/*
@internal: Meningococcal Booster Series Doses Administered to Patient
*/
define "Meningococcal Booster Series Doses Administered to Patient":
"Meningococcal Doses Administered to Patient".seriesBooster()
/*
@internal: Number of Meningococcal Booster Series Doses Administered
*/
define "Number of Meningococcal Booster Series Doses Administered":
Count("Meningococcal Booster Series Doses Administered to Patient")
</code></pre></td></tr>
</table>
</td>
</tr>
<tr>
<td colspan="2">
<table>
<tr><th><b>Content: </b> application/elm+xml</th></tr>
<tr><td><pre><code>Encoded data (128424 characters)</code></pre></td></tr>
</table>
</td>
</tr>
</table>
</div>
</div>
</text>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability">
<valueCode value="computable"/>
</extension>
<url
value="http://smart.who.int/immunizations/Library/IMMZD2DTMeningococcalEncounterElements"/>
<version value="0.2.0"/>
<name value="IMMZD2DTMeningococcalEncounterElements"/>
<title value="IMMZD2DTMeningococcalEncounterElements"/>
<status value="draft"/>
<experimental value="false"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="logic-library"/>
</coding>
</type>
<date value="2025-11-25T20:07:03+00:00"/>
<publisher value="WHO"/>
<contact>
<name value="WHO"/>
<telecom>
<system value="url"/>
<value value="http://who.int"/>
</telecom>
</contact>
<description
value="This library defines encounter-based elements for Meningococcal used throughout the Immunization CPG"/>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library WHOConcepts"/>
<resource value="http://smart.who.int/immunizations/Library/WHOConcepts"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library WC"/>
<resource value="http://smart.who.int/immunizations/Library/WHOCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library WE"/>
<resource value="http://smart.who.int/immunizations/Library/WHOElements"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Common"/>
<resource value="http://smart.who.int/immunizations/Library/IMMZCommon"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Concepts"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZConcepts"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Encounter"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZEncounterElements"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library MeningococcalElements"/>
<resource
value="http://smart.who.int/immunizations/Library/IMMZD2DTMeningococcalElements"/>
</relatedArtifact>
<parameter>
<name value="Today"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="date"/>
</parameter>
<parameter>
<name value="EncounterId"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Patient"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Patient"/>
</parameter>
<parameter>
<name value="Meningococcal Doses Administered to Patient"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Immunization"/>
</parameter>
<parameter>
<name value="Meningococcal Primary Series Doses Administered to Patient"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Immunization"/>
</parameter>
<parameter>
<name value="Number of Meningococcal Primary Series Doses Administered"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="integer"/>
</parameter>
<parameter>
<name value="Client's age is less than 9 months"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="No meningococcal primary series dose was administered"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client's age is more than 9 months"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="One meningococcal primary series dose was administered"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client's age is less than 3 months"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client's age is more than or equal to 3 months"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Date of Latest Primary Meningococcal Dose"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="date"/>
</parameter>
<parameter>
<name
value="The latest meningococcal dose was administered less than 8 weeks ago"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="The latest meningococcal dose was administered more than 8 weeks ago"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Two meningococcal primary series doses were administered"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client's age is less than 2 months"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client's age is more than or equal to 2 months"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Date of First Primary Series Meningococcal Dose"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="date"/>
</parameter>
<parameter>
<name
value="Client's age was less than or equal to 11 months when the primary series was started"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="The latest meningococcal dose was administered less than 2 months ago"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="The latest meningococcal dose was administered more than 2 months ago"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Client's age was more than 11 months when the primary series was started"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="The latest meningococcal dose was administered less than 1 year ago"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Meningococcal Booster Series Doses Administered to Patient"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Immunization"/>
</parameter>
<parameter>
<name value="Number of Meningococcal Booster Series Doses Administered"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="integer"/>
</parameter>
<parameter>
<name value="No meningococcal booster dose was administered"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="The latest meningococcal dose was administered more than 1 year ago"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Meningococcal booster dose was administered"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client's age is less than 2 years"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client's age is more than or equal to 2 years"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client's age is more than or equal to 9 months"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Client's age was less than or equal to 23 months when the primary series was started"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="The latest meningococcal dose was administered less than 3 months ago"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="The latest meningococcal dose was administered more than 3 months ago"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="Client's age was more than 23 months when the primary series was started"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Client's age is more than 2 years"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="The latest meningococcal dose was administered less than 3 years ago"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name
value="The latest meningococcal dose was administered more than 3 years ago"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<content>
<contentType value="text/cql"/>
<data
value="Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDJEVE1lbmluZ29jb2NjYWxFbmNvdW50ZXJFbGVtZW50cwogICovCmxpYnJhcnkgSU1NWkQyRFRNZW5pbmdvY29jY2FsRW5jb3VudGVyRWxlbWVudHMKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIFdIT0NvbmNlcHRzCmluY2x1ZGUgV0hPQ29tbW9uIGNhbGxlZCBXQwppbmNsdWRlIFdIT0VsZW1lbnRzIGNhbGxlZCBXRQoKaW5jbHVkZSBJTU1aQ29tbW9uIGNhbGxlZCBDb21tb24KaW5jbHVkZSBJTU1aQ29uY2VwdHMgY2FsbGVkIENvbmNlcHRzCmluY2x1ZGUgSU1NWkVuY291bnRlckVsZW1lbnRzIGNhbGxlZCBFbmNvdW50ZXIKCmluY2x1ZGUgSU1NWkQyRFRNZW5pbmdvY29jY2FsRWxlbWVudHMgY2FsbGVkIE1lbmluZ29jb2NjYWxFbGVtZW50cwoKcGFyYW1ldGVyIFRvZGF5IERhdGUgZGVmYXVsdCBUb2RheSgpCnBhcmFtZXRlciBFbmNvdW50ZXJJZCBTdHJpbmcKCmNvbnRleHQgUGF0aWVudAoKLyoKQGludGVybmFsOiBNZW5pbmdvY29jY2FsIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICBFbmNvdW50ZXIuIkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBJCiAgd2hlcmUKICAgIEkudmFjY2luZUNvZGUgaW4gQ29uY2VwdHMuIk1lbmluZ29jb2NjYWwgdmFjY2luZXMiCgovKgpAaW50ZXJuYWw6IE1lbmluZ29jb2NjYWwgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgUHJpbWFyeSBzZXJpZXMKKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICAiTWVuaW5nb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIuc2VyaWVzUHJpbWFyeSgpCgovKgpAaW50ZXJuYWw6IE51bWJlciBvZiBNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIGRvc2VzCiovCmRlZmluZSAiTnVtYmVyIG9mIE1lbmluZ29jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIjoKICBDb3VudCgiTWVuaW5nb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIpCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgOSBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSBtb250aHMtNDEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAxIGRvc2U6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDEtZG9zZSBzY2hlZHVsZQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDIgZG9zZXM6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktRCksIDItZG9zZSBzY2hlZHVsZQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSBtb250aHMiOgogIEVuY291bnRlci4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiIDwgOQoKLyoKQGlucHV0OiBObyBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJNZW5pbmdvY29jY2FsIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDAKQGNvZGU6IE5vIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyMgpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5NZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lIDEgZG9zZTogTWVuQSBjb25qdWdhdGUgdmFjY2luZSwgMS1kb3NlIHNjaGVkdWxlCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1lbkEgY29uanVnYXRlIHZhY2NpbmUgMiBkb3NlczogTWVuQSBjb25qdWdhdGUgdmFjY2luZSwgMi1kb3NlIHNjaGVkdWxlIChzcGVjaWZpYyBjb250ZXh0IHdoZXJlIHRoZXJlIGlzIGEgY29tcGVsbGluZyByZWFzb24gdG8gdmFjY2luYXRlIGluZmFudHMgYWdlZCB1bmRlciA5IG1vbnRocykKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lOiBNb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmUgc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAxIGRvc2U6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktQ1JNKSwgMS1kb3NlIHNjaGVkdWxlCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgMiBkb3NlczogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1EKSwgMi1kb3NlIHNjaGVkdWxlCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzOiBQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzY2hlZHVsZQooUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBvdXRicmVha3MgaW4gY291bnRyaWVzIHdoZXJlIGxpbWl0ZWQgZWNvbm9taWMgcmVzb3VyY2VzIG9yIGluc3VmZmljaWVudCBzdXBwbHkgcmVzdHJpY3QgdGhlIHVzZSBvZiBtZW5pbmdvY29jY2FsIGNvbmp1Z2F0ZSB2YWNjaW5lcykKKi8KZGVmaW5lICJObyBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gOSBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIOKJpSA5IG1vbnRocwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA5IG1vbnRocy00MQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5NZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lIDEgZG9zZTogTWVuQSBjb25qdWdhdGUgdmFjY2luZSwgMS1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA5IG1vbnRocyI6CiAgRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgPj0gOQoKLyoKQGlucHV0OiBPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiTWVuaW5nb2NvY2NhbCB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAxCkBjb2RlOiBPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTIyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1lbkEgY29uanVnYXRlIHZhY2NpbmUgMSBkb3NlOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAxLWRvc2Ugc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAyIGRvc2VzOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgKHNwZWNpZmljIGNvbnRleHQgd2hlcmUgdGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyBhZ2VkIHVuZGVyIDkgbW9udGhzKQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDEgZG9zZTogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1DUk0pLCAxLWRvc2Ugc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAyIGRvc2VzOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUQpLCAyLWRvc2Ugc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUG9seXNhY2NoYXJpZGUgdmFjY2luZXM6IFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIHNjaGVkdWxlCihQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBjYW4gYmUgdXNlZCB0byBjb250cm9sIG91dGJyZWFrcyBpbiBjb3VudHJpZXMgd2hlcmUgbGltaXRlZCBlY29ub21pYyByZXNvdXJjZXMgb3IgaW5zdWZmaWNpZW50IHN1cHBseSByZXN0cmljdCB0aGUgdXNlIG9mIG1lbmluZ29jb2NjYWwgY29uanVnYXRlIHZhY2NpbmVzKQoqLwpkZWZpbmUgIk9uZSBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAxCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMyBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIDwgMyBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMyBtb250aHMtNDEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAyIGRvc2VzOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgKHNwZWNpZmljIGNvbnRleHQgd2hlcmUgdGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyBhZ2VkIHVuZGVyIDkgbW9udGhzKQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMyBtb250aHMiOgogIEVuY291bnRlci4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiIDwgMwoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDMgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaUgMyBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMyBtb250aHMtNDEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAyIGRvc2VzOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgKHNwZWNpZmljIGNvbnRleHQgd2hlcmUgdGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyBhZ2VkIHVuZGVyIDkgbW9udGhzKQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMyBtb250aHMiOgogIEVuY291bnRlci4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiID49IDMKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJNZW5pbmdvY29jY2FsIHZhY2NpbmVzIikgPCA4IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA4IHdlZWtzIGFnby0xMDUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAyIGRvc2VzOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgKHNwZWNpZmljIGNvbnRleHQgd2hlcmUgdGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyBhZ2VkIHVuZGVyIDkgbW9udGhzKQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvIjoKICAiRGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UiIGlzIG5vdCBudWxsCiAgYW5kIGR1cmF0aW9uIGluIHdlZWtzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlIiBhbmQgVG9kYXkgPCA4CgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDggd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiTWVuaW5nb2NvY2NhbCB2YWNjaW5lcyIpIOKJpSA4IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnby0xMDUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAyIGRvc2VzOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgKHNwZWNpZmljIGNvbnRleHQgd2hlcmUgdGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyBhZ2VkIHVuZGVyIDkgbW9udGhzKQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDggd2Vla3MgYWdvIjoKICBub3QgIlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvIgoKLyoKQGlucHV0OiBUd28gbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJNZW5pbmdvY29jY2FsIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiUHJpbWFyeSBzZXJpZXMiKSA9IDIKQGNvZGU6IFR3byBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyMgpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5NZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lIDIgZG9zZXM6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDItZG9zZSBzY2hlZHVsZSAoc3BlY2lmaWMgY29udGV4dCB3aGVyZSB0aGVyZSBpcyBhIGNvbXBlbGxpbmcgcmVhc29uIHRvIHZhY2NpbmF0ZSBpbmZhbnRzIGFnZWQgdW5kZXIgOSBtb250aHMpCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgMiBkb3NlczogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1EKSwgMi1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAiVHdvIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgTWVuaW5nb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiID0gMgoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDIgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDIgbW9udGhzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDIgbW9udGhzLTQxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIG1vbnRocyI6CiAgRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgPCAyCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMiBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIOKJpSAyIG1vbnRocwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAyIG1vbnRocy00MQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMiBtb250aHMiOgogIEVuY291bnRlci4iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiID49IDIKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIHdhcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMTEgbW9udGhzIHdoZW4gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBzdGFydGVkCkBwc2V1ZG9jb2RlOiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIk1lbmluZ29jb2NjYWwgdmFjY2luZXMiKSAtICJEYXRlIG9mIGJpcnRoIiDiiaQgMTEgbW9udGhzCkBjb2RlOiBDbGllbnQncyBhZ2Ugd2FzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxMSBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQtMTEwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIHdhcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMTEgbW9udGhzIHdoZW4gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBzdGFydGVkIjoKICBBZ2VJbk1vbnRoc0F0KCJEYXRlIG9mIEZpcnN0IFByaW1hcnkgU2VyaWVzIE1lbmluZ29jb2NjYWwgRG9zZSIpIDw9IDExCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDIgbW9udGhzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIk1lbmluZ29jb2NjYWwgdmFjY2luZXMiKSA8IDIgbW9udGhzCkBjb2RlOiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAyIG1vbnRocyBhZ28tMTA2CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMiBtb250aHMgYWdvIjoKICAiRGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UiIGlzIG5vdCBudWxsCiAgYW5kIGR1cmF0aW9uIGluIG1vbnRocyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSIgYW5kIFRvZGF5IDwgMgoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAyIG1vbnRocyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJNZW5pbmdvY29jY2FsIHZhY2NpbmVzIikg4omlIDIgbW9udGhzCkBjb2RlOiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAyIG1vbnRocyBhZ28tMTA2CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMiBtb250aHMgYWdvIjoKICBub3QgIlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDIgbW9udGhzIGFnbyIKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIHdhcyBtb3JlIHRoYW4gMTEgbW9udGhzIHdoZW4gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBzdGFydGVkCkBwc2V1ZG9jb2RlOiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIk1lbmluZ29jb2NjYWwgdmFjY2luZXMiKSAtICJEYXRlIG9mIGJpcnRoIiA+IDExIG1vbnRocwpAY29kZTogQ2xpZW50J3MgYWdlIHdhcyBtb3JlIHRoYW4gMTEgbW9udGhzIHdoZW4gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBzdGFydGVkLTExMApAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSB3YXMgbW9yZSB0aGFuIDExIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZCI6CiAgQWdlSW5Nb250aHNBdCgiRGF0ZSBvZiBGaXJzdCBQcmltYXJ5IFNlcmllcyBNZW5pbmdvY29jY2FsIERvc2UiKSA+IDExCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiTWVuaW5nb2NvY2NhbCB2YWNjaW5lcyIpIDwgMSB5ZWFyCkBjb2RlOiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvLTExMQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZQoqLwpkZWZpbmUgIlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSIgaXMgbm90IG51bGwKICBhbmQgZHVyYXRpb24gaW4geWVhcnMgYmV0d2VlbiAiRGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UiIGFuZCBUb2RheSA8IDEKCi8qCkBpbnB1dDogTm8gbWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJNZW5pbmdvY29jY2FsIHZhY2NpbmVzIiBhbmQgIlR5cGUgb2YgZG9zZSIgPSAiQm9vc3RlciBkb3NlIikgPSAwCkBjb2RlOiBObyBtZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyMApAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Qb2x5c2FjY2hhcmlkZSB2YWNjaW5lczogUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgc2NoZWR1bGUKKFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wgb3V0YnJlYWtzIGluIGNvdW50cmllcyB3aGVyZSBsaW1pdGVkIGVjb25vbWljIHJlc291cmNlcyBvciBpbnN1ZmZpY2llbnQgc3VwcGx5IHJlc3RyaWN0IHRoZSB1c2Ugb2YgbWVuaW5nb2NvY2NhbCBjb25qdWdhdGUgdmFjY2luZXMpCiovCmRlZmluZSAiTm8gbWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBNZW5pbmdvY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiTWVuaW5nb2NvY2NhbCB2YWNjaW5lcyIpIOKJpSAxIHllYXIKQGNvZGU6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28tMTExCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMSB5ZWFyIGFnbyI6CiAgbm90ICJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvIgoKLyoKQGlucHV0OiBNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIk1lbmluZ29jb2NjYWwgdmFjY2luZXMiIGFuZCAiVHlwZSBvZiBkb3NlIiA9ICJCb29zdGVyIGRvc2UiKSA9IDEKQGNvZGU6IE1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTIwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzOiBQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzY2hlZHVsZQooUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBvdXRicmVha3MgaW4gY291bnRyaWVzIHdoZXJlIGxpbWl0ZWQgZWNvbm9taWMgcmVzb3VyY2VzIG9yIGluc3VmZmljaWVudCBzdXBwbHkgcmVzdHJpY3QgdGhlIHVzZSBvZiBtZW5pbmdvY29jY2FsIGNvbmp1Z2F0ZSB2YWNjaW5lcykKKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIjoKICAiTnVtYmVyIG9mIE1lbmluZ29jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDEKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDIgeWVhcnMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMiB5ZWFycy00MApAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDEgZG9zZTogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1DUk0pLCAxLWRvc2Ugc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUG9seXNhY2NoYXJpZGUgdmFjY2luZXM6IFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIHNjaGVkdWxlCihQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBjYW4gYmUgdXNlZCB0byBjb250cm9sIG91dGJyZWFrcyBpbiBjb3VudHJpZXMgd2hlcmUgbGltaXRlZCBlY29ub21pYyByZXNvdXJjZXMgb3IgaW5zdWZmaWNpZW50IHN1cHBseSByZXN0cmljdCB0aGUgdXNlIG9mIG1lbmluZ29jb2NjYWwgY29uanVnYXRlIHZhY2NpbmVzKQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMiB5ZWFycyI6CiAgRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiA8IDIKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAyIHllYXJzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaUgMiB5ZWFycwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAyIHllYXJzLTQwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgMSBkb3NlOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUNSTSksIDEtZG9zZSBzY2hlZHVsZQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMiB5ZWFycyI6CiAgRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIFllYXJzIiA+PSAyCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIOKJpSA5IG1vbnRocwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byA5IG1vbnRocy00MQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDIgZG9zZXM6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktRCksIDItZG9zZSBzY2hlZHVsZQoqLwpkZWZpbmUgIkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSBtb250aHMiOgogICJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDkgbW9udGhzIgoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2Ugd2FzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAyMyBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQKQHBzZXVkb2NvZGU6ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiTWVuaW5nb2NvY2NhbCB2YWNjaW5lcyIpIC0gIkRhdGUgb2YgYmlydGgiIOKJpCAyMyBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSB3YXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDIzIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZC0xMTAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAyIGRvc2VzOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUQpLCAyLWRvc2Ugc2NoZWR1bGUKKi8KZGVmaW5lICJDbGllbnQncyBhZ2Ugd2FzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAyMyBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQiOgogIEFnZUluTW9udGhzQXQoIkRhdGUgb2YgRmlyc3QgUHJpbWFyeSBTZXJpZXMgTWVuaW5nb2NvY2NhbCBEb3NlIikgPD0gMjMKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyBtb250aHMgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiTWVuaW5nb2NvY2NhbCB2YWNjaW5lcyIpIDwgMyBtb250aHMKQGNvZGU6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgbW9udGhzIGFnby0xMDYKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAyIGRvc2VzOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUQpLCAyLWRvc2Ugc2NoZWR1bGUKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIG1vbnRocyBhZ28iOgogICJEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSIgaXMgbm90IG51bGwKICBhbmQgZHVyYXRpb24gaW4gbW9udGhzIGJldHdlZW4gIkRhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlIiBhbmQgVG9kYXkgPCAzCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgbW9udGhzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIk1lbmluZ29jb2NjYWwgdmFjY2luZXMiKSDiiaUgMyBtb250aHMKQGNvZGU6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgbW9udGhzIGFnby0xMDYKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAyIGRvc2VzOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUQpLCAyLWRvc2Ugc2NoZWR1bGUKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIG1vbnRocyBhZ28iOgogIG5vdCAiVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyBtb250aHMgYWdvIgoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2Ugd2FzIG1vcmUgdGhhbiAyMyBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQKQHBzZXVkb2NvZGU6ICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiTWVuaW5nb2NvY2NhbCB2YWNjaW5lcyIpIC0gIkRhdGUgb2YgYmlydGgiID4gMjMgbW9udGhzCkBjb2RlOiBDbGllbnQncyBhZ2Ugd2FzIG1vcmUgdGhhbiAyMyBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQtMTEwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgMiBkb3NlczogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1EKSwgMi1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIHdhcyBtb3JlIHRoYW4gMjMgbW9udGhzIHdoZW4gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBzdGFydGVkIjoKICBBZ2VJbk1vbnRoc0F0KCJEYXRlIG9mIEZpcnN0IFByaW1hcnkgU2VyaWVzIE1lbmluZ29jb2NjYWwgRG9zZSIpID4gMjMKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiAyIHllYXJzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiDiiaUgMiB5ZWFycwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiAyIHllYXJzLTQwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzOiBQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzY2hlZHVsZQooUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBvdXRicmVha3MgaW4gY291bnRyaWVzIHdoZXJlIGxpbWl0ZWQgZWNvbm9taWMgcmVzb3VyY2VzIG9yIGluc3VmZmljaWVudCBzdXBwbHkgcmVzdHJpY3QgdGhlIHVzZSBvZiBtZW5pbmdvY29jY2FsIGNvbmp1Z2F0ZSB2YWNjaW5lcykKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDIgeWVhcnMiOgogICJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDIgeWVhcnMiCgovKgpAaW5wdXQ6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgeWVhcnMgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiTWVuaW5nb2NvY2NhbCB2YWNjaW5lcyIpIDwgMyB5ZWFycwpAY29kZTogVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyB5ZWFycyBhZ28tMTA1CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzOiBQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzY2hlZHVsZQooUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBvdXRicmVha3MgaW4gY291bnRyaWVzIHdoZXJlIGxpbWl0ZWQgZWNvbm9taWMgcmVzb3VyY2VzIG9yIGluc3VmZmljaWVudCBzdXBwbHkgcmVzdHJpY3QgdGhlIHVzZSBvZiBtZW5pbmdvY29jY2FsIGNvbmp1Z2F0ZSB2YWNjaW5lcykKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnbyI6CiAgIkRhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlIiBpcyBub3QgbnVsbAogIGFuZCBkdXJhdGlvbiBpbiB5ZWFycyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSIgYW5kIFRvZGF5IDwgMwoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIHllYXJzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiIgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIk1lbmluZ29jb2NjYWwgdmFjY2luZXMiKSDiiaUgMyB5ZWFycwpAY29kZTogVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMyB5ZWFycyBhZ28tMTA1CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzOiBQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzY2hlZHVsZQooUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBvdXRicmVha3MgaW4gY291bnRyaWVzIHdoZXJlIGxpbWl0ZWQgZWNvbm9taWMgcmVzb3VyY2VzIG9yIGluc3VmZmljaWVudCBzdXBwbHkgcmVzdHJpY3QgdGhlIHVzZSBvZiBtZW5pbmdvY29jY2FsIGNvbmp1Z2F0ZSB2YWNjaW5lcykKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIHllYXJzIGFnbyI6CiAgbm90ICJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnbyIKCi8qCkBpbnRlcm5hbDogRGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UKKi8KZGVmaW5lICJEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSI6CiAgZGF0ZSBmcm9tIHN0YXJ0IG9mICJNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5tb3N0UmVjZW50KCkub2NjdXJyZW5jZS50b0ludGVydmFsKCkKCi8qCkBpbnRlcm5hbDogRGF0ZSBvZiBGaXJzdCBQcmltYXJ5IFNlcmllcyBNZW5pbmdvY29jY2FsIERvc2UKKi8KZGVmaW5lICJEYXRlIG9mIEZpcnN0IFByaW1hcnkgU2VyaWVzIE1lbmluZ29jb2NjYWwgRG9zZSI6CiAgZGF0ZSBmcm9tIHN0YXJ0IG9mICJNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50Ii5lYXJsaWVzdCgpLm9jY3VycmVuY2UudG9JbnRlcnZhbCgpCgovKgpAaW50ZXJuYWw6IE1lbmluZ29jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICJNZW5pbmdvY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IjoKICAiTWVuaW5nb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIuc2VyaWVzQm9vc3RlcigpCgovKgpAaW50ZXJuYWw6IE51bWJlciBvZiBNZW5pbmdvY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZAoqLwpkZWZpbmUgIk51bWJlciBvZiBNZW5pbmdvY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCI6CiAgQ291bnQoIk1lbmluZ29jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiKQo="/>
</content>
<content>
<contentType value="application/elm+xml"/>
<data
value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iNDU4Ij4KICAgICAgICAgPGE6cz4vKgogICogTGlicmFyeTogSU1NWkQyRFRNZW5pbmdvY29jY2FsRW5jb3VudGVyRWxlbWVudHMKICAqLwpsaWJyYXJ5IElNTVpEMkRUTWVuaW5nb2NvY2NhbEVuY291bnRlckVsZW1lbnRzPC9hOnM+CiAgICAgIDwvYTpzPgogICA8L2Fubm90YXRpb24+CiAgIDxpZGVudGlmaWVyIGlkPSJJTU1aRDJEVE1lbmluZ29jb2NjYWxFbmNvdW50ZXJFbGVtZW50cyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIi8+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA2IiBsb2NhdG9yPSI3OjEtNzoyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgPGE6cz51c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSI4OjEtODozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2hsNy5vcmcvZmhpci9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDgiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjEwOjEtMTA6MTkiIGxvY2FsSWRlbnRpZmllcj0iV0hPQ29uY2VwdHMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2ltbXVuaXphdGlvbnMvV0hPQ29uY2VwdHMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTAiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iMTE6MS0xMToyNyIgbG9jYWxJZGVudGlmaWVyPSJXQyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9XSE9Db21tb24iPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0M8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE0IiBsb2NhdG9yPSIxMjoxLTEyOjI5IiBsb2NhbElkZW50aWZpZXI9IldFIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL1dIT0VsZW1lbnRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPldIT0VsZW1lbnRzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSIxNDoxLTE0OjMyIiBsb2NhbElkZW50aWZpZXI9IkNvbW1vbiIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9JTU1aQ29tbW9uIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPklNTVpDb21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBDb21tb248L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE4IiBsb2NhdG9yPSIxNToxLTE1OjM2IiBsb2NhbElkZW50aWZpZXI9IkNvbmNlcHRzIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpDb25jZXB0cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxOCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aQ29uY2VwdHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBDb25jZXB0czwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMjAiIGxvY2F0b3I9IjE2OjEtMTY6NDYiIGxvY2FsSWRlbnRpZmllcj0iRW5jb3VudGVyIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpFbmNvdW50ZXJFbGVtZW50cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIyMCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aRW5jb3VudGVyRWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSIxODoxLTE4OjY2IiBsb2NhbElkZW50aWZpZXI9Ik1lbmluZ29jb2NjYWxFbGVtZW50cyIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9JTU1aRDJEVE1lbmluZ29jb2NjYWxFbGVtZW50cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIyMiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aRDJEVE1lbmluZ29jb2NjYWxFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIE1lbmluZ29jb2NjYWxFbGVtZW50czwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHBhcmFtZXRlcnM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjI0IiBsb2NhdG9yPSIyMDoxLTIwOjM2IiBuYW1lPSJUb2RheSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIyNCI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyIFRvZGF5IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyOCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGVmYXVsdCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjciPgogICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5KCk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxkZWZhdWx0IGxvY2FsSWQ9IjIyNyIgbG9jYXRvcj0iMjA6MzAtMjA6MzYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjgiIGxvY2F0b3I9IjIwOjE3LTIwOjIwIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjMwIiBsb2NhdG9yPSIyMToxLTIxOjI4IiBuYW1lPSJFbmNvdW50ZXJJZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIzMCI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyIEVuY291bnRlcklkIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzMSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+U3RyaW5nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMzEiIGxvY2F0b3I9IjIxOjIzLTIxOjI4IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8Y29udGV4dHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjM2IiBsb2NhdG9yPSIyMzoxLTIzOjE1IiBuYW1lPSJQYXRpZW50Ii8+CiAgIDwvY29udGV4dHM+CiAgIDxzdGF0ZW1lbnRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iMjM6MS0yMzoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzNSIgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMzMiIGxvY2F0b3I9IjIzOjEtMjM6MTUiIGRhdGFUeXBlPSJmaGlyOlBhdGllbnQiIHRlbXBsYXRlSWQ9Imh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzkiIGxvY2F0b3I9IjI4OjEtMzE6NTQiIG5hbWU9Ik1lbmluZ29jb2NjYWwgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9Ik1lbmluZ29jb2NjYWwgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIvPgogICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBNZW5pbmdvY29jY2FsIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICZxdW90O01lbmluZ29jb2NjYWwgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjUxIj4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyLiZxdW90O0Rvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gSTwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVyZQogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+STwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWNjaW5lQ29kZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGluIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5Db25jZXB0czwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjUxIiBsb2NhdG9yPSIyOTozLTMxOjU0IiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjI0MCIgbG9jYXRvcj0iMjk6My0yOTo0NSIgYWxpYXM9IkkiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjI5OjMtMjk6NDMiIG5hbWU9IkRvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIGxvY2FsSWQ9IjI0OCIgbG9jYXRvcj0iMzA6My0zMTo1NCIgeHNpOnR5cGU9IkluVmFsdWVTZXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI1MCIgbmFtZT0idDpDb25jZXB0IiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxjb2RlIGxvY2FsSWQ9IjI0OSIgbmFtZT0iVG9Db25jZXB0IiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NSIgbG9jYXRvcj0iMzE6NS0zMToxNyIgcGF0aD0idmFjY2luZUNvZGUiIHNjb3BlPSJJIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9jb2RlPgogICAgICAgICAgICAgICA8dmFsdWVzZXQgbG9jYWxJZD0iMjQ3IiBsb2NhdG9yPSIzMToyMi0zMTo1NCIgbmFtZT0iTWVuaW5nb2NvY2NhbCB2YWNjaW5lcyIgbGlicmFyeU5hbWU9IkNvbmNlcHRzIiBwcmVzZXJ2ZT0idHJ1ZSIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1NCIgbG9jYXRvcj0iMzY6MS0zNzo2MyIgbmFtZT0iTWVuaW5nb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iTWVuaW5nb2NvY2NhbCBjb250YWluaW5nIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IHRoYXQgYXJlIGluIHRoZSBQcmltYXJ5IHNlcmllcyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBNZW5pbmdvY29jY2FsIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQgdGhhdCBhcmUgaW4gdGhlIFByaW1hcnkgc2VyaWVzCiovCmRlZmluZSAmcXVvdDtNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZW5pbmdvY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnNlcmllc1ByaW1hcnkoKTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1NiIgbG9jYXRvcj0iMzc6My0zNzo2MyIgbmFtZT0ic2VyaWVzUHJpbWFyeSIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSIzNzozLTM3OjQ3IiBuYW1lPSJNZW5pbmdvY29jY2FsIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1OSIgbG9jYXRvcj0iNDI6MS00Mzo2OSIgbmFtZT0iTnVtYmVyIG9mIE1lbmluZ29jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW50ZXJuYWwiIHZhbHVlPSJOdW1iZXIgb2YgTWVuaW5nb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBkb3NlcyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1OSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGludGVybmFsOiBOdW1iZXIgb2YgTWVuaW5nb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBkb3NlcwoqLwpkZWZpbmUgJnF1b3Q7TnVtYmVyIG9mIE1lbmluZ29jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI2MyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q291bnQoPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2MyIgbG9jYXRvcj0iNDM6My00Mzo2OSIgeHNpOnR5cGU9IkNvdW50Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIyNjAiIGxvY2F0b3I9IjQzOjktNDM6NjgiIG5hbWU9Ik1lbmluZ29jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSI1MjoxLTUzOjQ3IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDkgbW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDkgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyA5IG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDkgbW9udGhzLTQxIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAxIGRvc2U6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDEtZG9zZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgMiBkb3NlczogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1EKSwgMi1kb3NlIHNjaGVkdWxlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjY2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDkgbW9udGhzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDkgbW9udGhzLTQxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1lbkEgY29uanVnYXRlIHZhY2NpbmUgMSBkb3NlOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAxLWRvc2Ugc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAyIGRvc2VzOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUQpLCAyLWRvc2Ugc2NoZWR1bGUKKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSBtb250aHMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjY3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzAiPiAmbHQ7IDk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2NyIgbG9jYXRvcj0iNTM6My01Mzo0NyIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI3MSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjcyIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjY5IiBsb2NhdG9yPSI1MzozLTUzOjQzIiBuYW1lPSJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgbGlicmFyeU5hbWU9IkVuY291bnRlciIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjcwIiBsb2NhdG9yPSI1Mzo0NyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI5IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3NSIgbG9jYXRvcj0iNjc6MS02ODo2NSIgbmFtZT0iTm8gbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9Ik5vIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iTm8gbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTIyIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAxIGRvc2U6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDEtZG9zZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1lbkEgY29uanVnYXRlIHZhY2NpbmUgMiBkb3NlczogTWVuQSBjb25qdWdhdGUgdmFjY2luZSwgMi1kb3NlIHNjaGVkdWxlIChzcGVjaWZpYyBjb250ZXh0IHdoZXJlIHRoZXJlIGlzIGEgY29tcGVsbGluZyByZWFzb24gdG8gdmFjY2luYXRlIGluZmFudHMgYWdlZCB1bmRlciA5IG1vbnRocykiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgMSBkb3NlOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUNSTSksIDEtZG9zZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgMiBkb3NlczogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1EKSwgMi1kb3NlIHNjaGVkdWxlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUG9seXNhY2NoYXJpZGUgdmFjY2luZXM6IFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIHNjaGVkdWxlJiN4YTsoUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBvdXRicmVha3MgaW4gY291bnRyaWVzIHdoZXJlIGxpbWl0ZWQgZWNvbm9taWMgcmVzb3VyY2VzIG9yIGluc3VmZmljaWVudCBzdXBwbHkgcmVzdHJpY3QgdGhlIHVzZSBvZiBtZW5pbmdvY29jY2FsIGNvbmp1Z2F0ZSB2YWNjaW5lcykiLz4KICAgICAgICAgICAgPGE6cyByPSIyNzUiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogTm8gbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMApAY29kZTogTm8gbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTIyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1lbkEgY29uanVnYXRlIHZhY2NpbmUgMSBkb3NlOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAxLWRvc2Ugc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAyIGRvc2VzOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgKHNwZWNpZmljIGNvbnRleHQgd2hlcmUgdGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyBhZ2VkIHVuZGVyIDkgbW9udGhzKQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDEgZG9zZTogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1DUk0pLCAxLWRvc2Ugc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAyIGRvc2VzOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUQpLCAyLWRvc2Ugc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUG9seXNhY2NoYXJpZGUgdmFjY2luZXM6IFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIHNjaGVkdWxlCihQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBjYW4gYmUgdXNlZCB0byBjb250cm9sIG91dGJyZWFrcyBpbiBjb3VudHJpZXMgd2hlcmUgbGltaXRlZCBlY29ub21pYyByZXNvdXJjZXMgb3IgaW5zdWZmaWNpZW50IHN1cHBseSByZXN0cmljdCB0aGUgdXNlIG9mIG1lbmluZ29jb2NjYWwgY29uanVnYXRlIHZhY2NpbmVzKQoqLwpkZWZpbmUgJnF1b3Q7Tm8gbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjc2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzgiPiA9IDA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3NiIgbG9jYXRvcj0iNjg6My02ODo2NSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyNzkiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI4MCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3NyIgbG9jYXRvcj0iNjg6My02ODo2MSIgbmFtZT0iTnVtYmVyIG9mIE1lbmluZ29jb2NjYWwgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzgiIGxvY2F0b3I9IjY4OjY1IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjgzIiBsb2NhdG9yPSI3NjoxLTc3OjQ4IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDkgbW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDkgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDkgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gOSBtb250aHMtNDEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5NZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lIDEgZG9zZTogTWVuQSBjb25qdWdhdGUgdmFjY2luZSwgMS1kb3NlIHNjaGVkdWxlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjgzIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gOSBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgOSBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gOSBtb250aHMtNDEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAxIGRvc2U6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDEtZG9zZSBzY2hlZHVsZQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA5IG1vbnRocyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyODQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NyI+ID49IDk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI4NCIgbG9jYXRvcj0iNzc6My03Nzo0OCIgeHNpOnR5cGU9IkdyZWF0ZXJPckVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyODgiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI4OSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4NiIgbG9jYXRvcj0iNzc6My03Nzo0MyIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4NyIgbG9jYXRvcj0iNzc6NDgiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOTIiIGxvY2F0b3I9IjkxOjEtOTI6NjUiIG5hbWU9Ik9uZSBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iT25lIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O1ByaW1hcnkgc2VyaWVzJnF1b3Q7KSA9IDEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iT25lIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyMiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1lbkEgY29uanVnYXRlIHZhY2NpbmUgMSBkb3NlOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAxLWRvc2Ugc2NoZWR1bGUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5NZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lIDIgZG9zZXM6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDItZG9zZSBzY2hlZHVsZSAoc3BlY2lmaWMgY29udGV4dCB3aGVyZSB0aGVyZSBpcyBhIGNvbXBlbGxpbmcgcmVhc29uIHRvIHZhY2NpbmF0ZSBpbmZhbnRzIGFnZWQgdW5kZXIgOSBtb250aHMpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lOiBNb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmUgc2NoZWR1bGUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDEgZG9zZTogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1DUk0pLCAxLWRvc2Ugc2NoZWR1bGUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDIgZG9zZXM6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktRCksIDItZG9zZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzOiBQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzY2hlZHVsZSYjeGE7KFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wgb3V0YnJlYWtzIGluIGNvdW50cmllcyB3aGVyZSBsaW1pdGVkIGVjb25vbWljIHJlc291cmNlcyBvciBpbnN1ZmZpY2llbnQgc3VwcGx5IHJlc3RyaWN0IHRoZSB1c2Ugb2YgbWVuaW5nb2NvY2NhbCBjb25qdWdhdGUgdmFjY2luZXMpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjkyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IE9uZSBtZW5pbmdvY29jY2FsIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAxCkBjb2RlOiBPbmUgbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTIyCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1lbkEgY29uanVnYXRlIHZhY2NpbmUgMSBkb3NlOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAxLWRvc2Ugc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAyIGRvc2VzOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgKHNwZWNpZmljIGNvbnRleHQgd2hlcmUgdGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyBhZ2VkIHVuZGVyIDkgbW9udGhzKQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDEgZG9zZTogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1DUk0pLCAxLWRvc2Ugc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAyIGRvc2VzOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUQpLCAyLWRvc2Ugc2NoZWR1bGUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUG9seXNhY2NoYXJpZGUgdmFjY2luZXM6IFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIHNjaGVkdWxlCihQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBjYW4gYmUgdXNlZCB0byBjb250cm9sIG91dGJyZWFrcyBpbiBjb3VudHJpZXMgd2hlcmUgbGltaXRlZCBlY29ub21pYyByZXNvdXJjZXMgb3IgaW5zdWZmaWNpZW50IHN1cHBseSByZXN0cmljdCB0aGUgdXNlIG9mIG1lbmluZ29jb2NjYWwgY29uanVnYXRlIHZhY2NpbmVzKQoqLwpkZWZpbmUgJnF1b3Q7T25lIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI5MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgTWVuaW5nb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjk1Ij4gPSAxPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyOTMiIGxvY2F0b3I9IjkyOjMtOTI6NjUiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjk2IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIyOTciIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTQiIGxvY2F0b3I9IjkyOjMtOTI6NjEiIG5hbWU9Ik51bWJlciBvZiBNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk1IiBsb2NhdG9yPSI5Mjo2NSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMwMCIgbG9jYXRvcj0iMTAwOjEtMTAxOjQ3IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDMgbW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDMgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAzIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDMgbW9udGhzLTQxIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAyIGRvc2VzOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgKHNwZWNpZmljIGNvbnRleHQgd2hlcmUgdGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyBhZ2VkIHVuZGVyIDkgbW9udGhzKSIvPgogICAgICAgICAgICA8YTpzIHI9IjMwMCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDMgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAzIG1vbnRocwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAzIG1vbnRocy00MQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5NZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lIDIgZG9zZXM6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDItZG9zZSBzY2hlZHVsZSAoc3BlY2lmaWMgY29udGV4dCB3aGVyZSB0aGVyZSBpcyBhIGNvbXBlbGxpbmcgcmVhc29uIHRvIHZhY2NpbmF0ZSBpbmZhbnRzIGFnZWQgdW5kZXIgOSBtb250aHMpCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDMgbW9udGhzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA0Ij4gJmx0OyAzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMDEiIGxvY2F0b3I9IjEwMTozLTEwMTo0NyIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMwNSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzA2IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzAzIiBsb2NhdG9yPSIxMDE6My0xMDE6NDMiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMDQiIGxvY2F0b3I9IjEwMTo0NyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMwOSIgbG9jYXRvcj0iMTA5OjEtMTEwOjQ4IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDMgbW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDMgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDMgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMyBtb250aHMtNDEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5NZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lIDIgZG9zZXM6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDItZG9zZSBzY2hlZHVsZSAoc3BlY2lmaWMgY29udGV4dCB3aGVyZSB0aGVyZSBpcyBhIGNvbXBlbGxpbmcgcmVhc29uIHRvIHZhY2NpbmF0ZSBpbmZhbnRzIGFnZWQgdW5kZXIgOSBtb250aHMpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzA5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMyBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgMyBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMyBtb250aHMtNDEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAyIGRvc2VzOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgKHNwZWNpZmljIGNvbnRleHQgd2hlcmUgdGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyBhZ2VkIHVuZGVyIDkgbW9udGhzKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAzIG1vbnRocyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMTAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzExIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMyI+ID49IDM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMxMCIgbG9jYXRvcj0iMTEwOjMtMTEwOjQ4IiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxNCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzE1IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEyIiBsb2NhdG9yPSIxMTA6My0xMTA6NDMiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTMiIGxvY2F0b3I9IjExMDo0OCIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMyMiIgbG9jYXRvcj0iMzM4OjEtMzM5OjExOCIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9IkRhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzIyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW50ZXJuYWw6IERhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlCiovCmRlZmluZSAmcXVvdDtEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMjMiPgogICAgICAgICAgICAgICAgICA8YTpzPmRhdGUgZnJvbSA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVuaW5nb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5tb3N0UmVjZW50KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnRvSW50ZXJ2YWwoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzIzIiBsb2NhdG9yPSIzMzk6My0zMzk6MTE4IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjQiIGxvY2F0b3I9IjMzOToxMy0zMzk6MTE4IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzAiIGxvY2F0b3I9IjMzOToyMi0zMzk6MTE4IiBuYW1lPSJ0b0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyOSIgbG9jYXRvcj0iMzM5OjIyLTMzOToxMDUiIHBhdGg9Im9jY3VycmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzI2IiBsb2NhdG9yPSIzMzk6MjItMzM5Ojk0IiBuYW1lPSJtb3N0UmVjZW50IiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzI3IiB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbG9jYWxJZD0iMzI4IiBuYW1lPSJmaGlyOkltbXVuaXphdGlvbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NpZ25hdHVyZT4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI1IiBsb2NhdG9yPSIzMzk6MjItMzM5OjgxIiBuYW1lPSJNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMTgiIGxvY2F0b3I9IjExODoxLTEyMDo4OSIgbmFtZT0iVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspICZsdDsgOCB3ZWVrcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA4IHdlZWtzIGFnby0xMDUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5NZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lIDIgZG9zZXM6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDItZG9zZSBzY2hlZHVsZSAoc3BlY2lmaWMgY29udGV4dCB3aGVyZSB0aGVyZSBpcyBhIGNvbXBlbGxpbmcgcmVhc29uIHRvIHZhY2NpbmF0ZSBpbmZhbnRzIGFnZWQgdW5kZXIgOSBtb250aHMpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzE4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspICZsdDsgOCB3ZWVrcwpAY29kZTogVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gOCB3ZWVrcyBhZ28tMTA1CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1lbkEgY29uanVnYXRlIHZhY2NpbmUgMiBkb3NlczogTWVuQSBjb25qdWdhdGUgdmFjY2luZSwgMi1kb3NlIHNjaGVkdWxlIChzcGVjaWZpYyBjb250ZXh0IHdoZXJlIHRoZXJlIGlzIGEgY29tcGVsbGluZyByZWFzb24gdG8gdmFjY2luYXRlIGluZmFudHMgYWdlZCB1bmRlciA5IG1vbnRocykKKi8KZGVmaW5lICZxdW90O1RoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMxOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmR1cmF0aW9uIGluIHdlZWtzIGJldHdlZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MCI+ICZsdDsgODwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjMxOSIgbG9jYXRvcj0iMTE5OjMtMTIwOjg5IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzMzIiBsb2NhdG9yPSIxMTk6My0xMTk6NTciIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzIiIGxvY2F0b3I9IjExOTozLTExOTo1NyIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzMSIgbG9jYXRvcj0iMTE5OjMtMTE5OjQ1IiBuYW1lPSJEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzNCIgbG9jYXRvcj0iMTIwOjctMTIwOjg5IiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzQxIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNDIiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzUiIGxvY2F0b3I9IjEyMDo3LTEyMDo4NSIgcHJlY2lzaW9uPSJXZWVrIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMzgiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMzOSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzNiIgbG9jYXRvcj0iMTIwOjMzLTEyMDo3NSIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzNyIgbG9jYXRvcj0iMTIwOjgxLTEyMDo4NSIgbmFtZT0iVG9kYXkiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDAiIGxvY2F0b3I9IjEyMDo4OSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSI4IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzQ1IiBsb2NhdG9yPSIxMjg6MS0xMjk6NzYiIG5hbWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDggd2Vla3MgYWdvIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSDiiaUgOCB3ZWVrcyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnby0xMDUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5NZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lIDIgZG9zZXM6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDItZG9zZSBzY2hlZHVsZSAoc3BlY2lmaWMgY29udGV4dCB3aGVyZSB0aGVyZSBpcyBhIGNvbXBlbGxpbmcgcmVhc29uIHRvIHZhY2NpbmF0ZSBpbmZhbnRzIGFnZWQgdW5kZXIgOSBtb250aHMpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzQ1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDggd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKJpSA4IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiA4IHdlZWtzIGFnby0xMDUKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAyIGRvc2VzOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgKHNwZWNpZmljIGNvbnRleHQgd2hlcmUgdGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyBhZ2VkIHVuZGVyIDkgbW9udGhzKQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gOCB3ZWVrcyBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5ub3QgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA4IHdlZWtzIGFnbyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM0NiIgbG9jYXRvcj0iMTI5OjMtMTI5Ojc2IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQ3IiBsb2NhdG9yPSIxMjk6Ny0xMjk6NzYiIG5hbWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDggd2Vla3MgYWdvIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM1MCIgbG9jYXRvcj0iMTM5OjEtMTQwOjY1IiBuYW1lPSJUd28gbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVHdvIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7UHJpbWFyeSBzZXJpZXMmcXVvdDspID0gMiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUd28gbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjIiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5NZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lIDIgZG9zZXM6IE1lbkEgY29uanVnYXRlIHZhY2NpbmUsIDItZG9zZSBzY2hlZHVsZSAoc3BlY2lmaWMgY29udGV4dCB3aGVyZSB0aGVyZSBpcyBhIGNvbXBlbGxpbmcgcmVhc29uIHRvIHZhY2NpbmF0ZSBpbmZhbnRzIGFnZWQgdW5kZXIgOSBtb250aHMpIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lOiBNb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmUgc2NoZWR1bGUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDIgZG9zZXM6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktRCksIDItZG9zZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTpzIHI9IjM1MCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUd28gbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZApAcHNldWRvY29kZTogQ291bnQgb2YgdmFjY2luZXMgYWRtaW5pc3RlcmVkICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7IGFuZCAmcXVvdDtUeXBlIG9mIGRvc2UmcXVvdDsgPSAmcXVvdDtQcmltYXJ5IHNlcmllcyZxdW90OykgPSAyCkBjb2RlOiBUd28gbWVuaW5nb2NvY2NhbCBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZC0xMjIKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTWVuQSBjb25qdWdhdGUgdmFjY2luZSAyIGRvc2VzOiBNZW5BIGNvbmp1Z2F0ZSB2YWNjaW5lLCAyLWRvc2Ugc2NoZWR1bGUgKHNwZWNpZmljIGNvbnRleHQgd2hlcmUgdGhlcmUgaXMgYSBjb21wZWxsaW5nIHJlYXNvbiB0byB2YWNjaW5hdGUgaW5mYW50cyBhZ2VkIHVuZGVyIDkgbW9udGhzKQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDIgZG9zZXM6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktRCksIDItZG9zZSBzY2hlZHVsZQoqLwpkZWZpbmUgJnF1b3Q7VHdvIG1lbmluZ29jb2NjYWwgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzUxIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTMiPiA9IDI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjM1MSIgbG9jYXRvcj0iMTQwOjMtMTQwOjY1IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM1NCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzU1IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzUyIiBsb2NhdG9yPSIxNDA6My0xNDA6NjEiIG5hbWU9Ik51bWJlciBvZiBNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzUzIiBsb2NhdG9yPSIxNDA6NjUiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzNTgiIGxvY2F0b3I9IjE0ODoxLTE0OTo0NyIgbmFtZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIG1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7ICZsdDsgMiBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIG1vbnRocy00MSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMzU4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMiBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDIgbW9udGhzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDIgbW9udGhzLTQxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDIgbW9udGhzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM1OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYyIj4gJmx0OyAyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNTkiIGxvY2F0b3I9IjE0OTozLTE0OTo0NyIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM2MyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzY0IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzYxIiBsb2NhdG9yPSIxNDk6My0xNDk6NDMiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNjIiIGxvY2F0b3I9IjE0OTo0NyIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjM2NyIgbG9jYXRvcj0iMTU3OjEtMTU4OjQ4IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDIgbW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDIgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDIgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMiBtb250aHMtNDEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTpzIHI9IjM2NyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDIgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDIgbW9udGhzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDIgbW9udGhzLTQxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDIgbW9udGhzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM2OCI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzcwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzcxIj4gPj0gMjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzY4IiBsb2NhdG9yPSIxNTg6My0xNTg6NDgiIHhzaTp0eXBlPSJHcmVhdGVyT3JFcXVhbCI+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzcyIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNzMiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzAiIGxvY2F0b3I9IjE1ODozLTE1ODo0MyIgbmFtZT0iQ3VycmVudCBQYXRpZW50IEFnZSBJbiBNb250aHMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3MSIgbG9jYXRvcj0iMTU4OjQ4IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzgwIiBsb2NhdG9yPSIzNDQ6MS0zNDU6MTE2IiBuYW1lPSJEYXRlIG9mIEZpcnN0IFByaW1hcnkgU2VyaWVzIE1lbmluZ29jb2NjYWwgRG9zZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iRGF0ZSBvZiBGaXJzdCBQcmltYXJ5IFNlcmllcyBNZW5pbmdvY29jY2FsIERvc2UiLz4KICAgICAgICAgICAgPGE6cyByPSIzODAiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogRGF0ZSBvZiBGaXJzdCBQcmltYXJ5IFNlcmllcyBNZW5pbmdvY29jY2FsIERvc2UKKi8KZGVmaW5lICZxdW90O0RhdGUgb2YgRmlyc3QgUHJpbWFyeSBTZXJpZXMgTWVuaW5nb2NvY2NhbCBEb3NlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjM4MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+ZGF0ZSBmcm9tIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+c3RhcnQgb2YgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZW5pbmdvY29jY2FsIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmVhcmxpZXN0KCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPm9jY3VycmVuY2U8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnRvSW50ZXJ2YWwoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzgxIiBsb2NhdG9yPSIzNDU6My0zNDU6MTE2IiB4c2k6dHlwZT0iRGF0ZUZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODIiIGxvY2F0b3I9IjM0NToxMy0zNDU6MTE2IiB4c2k6dHlwZT0iU3RhcnQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzODgiIGxvY2F0b3I9IjM0NToyMi0zNDU6MTE2IiBuYW1lPSJ0b0ludGVydmFsIiBsaWJyYXJ5TmFtZT0iV0MiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4NyIgbG9jYXRvcj0iMzQ1OjIyLTM0NToxMDMiIHBhdGg9Im9jY3VycmVuY2UiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzg0IiBsb2NhdG9yPSIzNDU6MjItMzQ1OjkyIiBuYW1lPSJlYXJsaWVzdCIgbGlicmFyeU5hbWU9IldDIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM4NSIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVsZW1lbnRUeXBlIGxvY2FsSWQ9IjM4NiIgbmFtZT0iZmhpcjpJbW11bml6YXRpb24iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zaWduYXR1cmU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4MyIgbG9jYXRvcj0iMzQ1OjIyLTM0NTo4MSIgbmFtZT0iTWVuaW5nb2NvY2NhbCBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMzc2IiBsb2NhdG9yPSIxNjY6MS0xNjc6NzIiIG5hbWU9IkNsaWVudCdzIGFnZSB3YXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDExIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIHdhcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMTEgbW9udGhzIHdoZW4gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBzdGFydGVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspIC0gJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaQgMTEgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IkNsaWVudCdzIGFnZSB3YXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDExIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZC0xMTAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTpzIHI9IjM3NiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBhZ2Ugd2FzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxMSBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQKQHBzZXVkb2NvZGU6ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspIC0gJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaQgMTEgbW9udGhzCkBjb2RlOiBDbGllbnQncyBhZ2Ugd2FzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxMSBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQtMTEwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBhZ2Ugd2FzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxMSBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMzc3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzOTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluTW9udGhzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIEZpcnN0IFByaW1hcnkgU2VyaWVzIE1lbmluZ29jb2NjYWwgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5NyI+ICZsdDs9IDExPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzNzciIGxvY2F0b3I9IjE2NzozLTE2Nzo3MiIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzOTgiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM5OSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM5NCIgbG9jYXRvcj0iMTY3OjMtMTY3OjY2IiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM5NSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzk2IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzkzIiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzkyIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM4OSIgbG9jYXRvcj0iMTY3OjE3LTE2Nzo2NSIgbmFtZT0iRGF0ZSBvZiBGaXJzdCBQcmltYXJ5IFNlcmllcyBNZW5pbmdvY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzk3IiBsb2NhdG9yPSIxNjc6NzEtMTY3OjcyIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjExIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQwMiIgbG9jYXRvcj0iMTc1OjEtMTc3OjkwIiBuYW1lPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAyIG1vbnRocyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDIgbW9udGhzIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDIgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDIgbW9udGhzIGFnby0xMDYiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTpzIHI9IjQwMiI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAyIG1vbnRocyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OykgJmx0OyAyIG1vbnRocwpAY29kZTogVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMiBtb250aHMgYWdvLTEwNgpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMiBtb250aHMgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQwMyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA2Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDA3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MDgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmR1cmF0aW9uIGluIG1vbnRocyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MTMiPiAmbHQ7IDI8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MDMiIGxvY2F0b3I9IjE3NjozLTE3Nzo5MCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwNiIgbG9jYXRvcj0iMTc2OjMtMTc2OjU3IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDA1IiBsb2NhdG9yPSIxNzY6My0xNzY6NTciIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDQiIGxvY2F0b3I9IjE3NjozLTE3Njo0NSIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MDciIGxvY2F0b3I9IjE3Nzo3LTE3Nzo5MCIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQxNCIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDE1IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDA4IiBsb2NhdG9yPSIxNzc6Ny0xNzc6ODYiIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQxMSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDEyIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDA5IiBsb2NhdG9yPSIxNzc6MzQtMTc3Ojc2IiBuYW1lPSJEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDEwIiBsb2NhdG9yPSIxNzc6ODItMTc3Ojg2IiBuYW1lPSJUb2RheSIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxMyIgbG9jYXRvcj0iMTc3OjkwIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0MTgiIGxvY2F0b3I9IjE4NToxLTE4Njo3NyIgbmFtZT0iVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMiBtb250aHMgYWdvIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAyIG1vbnRocyBhZ28iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4omlIDIgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDIgbW9udGhzIGFnby0xMDYiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTpzIHI9IjQxOCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAyIG1vbnRocyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4omlIDIgbW9udGhzCkBjb2RlOiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAyIG1vbnRocyBhZ28tMTA2CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAyIG1vbnRocyBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDE5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5ub3QgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDIwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAyIG1vbnRocyBhZ28mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0MTkiIGxvY2F0b3I9IjE4NjozLTE4Njo3NyIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyMCIgbG9jYXRvcj0iMTg2OjctMTg2Ojc3IiBuYW1lPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAyIG1vbnRocyBhZ28iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDIzIiBsb2NhdG9yPSIxOTQ6MS0xOTU6NzEiIG5hbWU9IkNsaWVudCdzIGFnZSB3YXMgbW9yZSB0aGFuIDExIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIHdhcyBtb3JlIHRoYW4gMTEgbW9udGhzIHdoZW4gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBzdGFydGVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspIC0gJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyA+IDExIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJDbGllbnQncyBhZ2Ugd2FzIG1vcmUgdGhhbiAxMSBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQtMTEwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lOiBNb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmUgc2NoZWR1bGUiLz4KICAgICAgICAgICAgPGE6cyByPSI0MjMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIHdhcyBtb3JlIHRoYW4gMTEgbW9udGhzIHdoZW4gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBzdGFydGVkCkBwc2V1ZG9jb2RlOiAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSAtICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgPiAxMSBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSB3YXMgbW9yZSB0aGFuIDExIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZC0xMTAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lOiBNb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmUgc2NoZWR1bGUKKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSB3YXMgbW9yZSB0aGFuIDExIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0MjQiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQzMCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MjUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgRmlyc3QgUHJpbWFyeSBTZXJpZXMgTWVuaW5nb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMzIj4gPiAxMTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNDI0IiBsb2NhdG9yPSIxOTU6My0xOTU6NzEiIHhzaTp0eXBlPSJHcmVhdGVyIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0MzQiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQzNSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQzMCIgbG9jYXRvcj0iMTk1OjMtMTk1OjY2IiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQzMSIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDMyIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDI5IiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNDI4IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQyNSIgbG9jYXRvcj0iMTk1OjE3LTE5NTo2NSIgbmFtZT0iRGF0ZSBvZiBGaXJzdCBQcmltYXJ5IFNlcmllcyBNZW5pbmdvY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDMzIiBsb2NhdG9yPSIxOTU6NzAtMTk1OjcxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjExIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQzOCIgbG9jYXRvcj0iMjAzOjEtMjA1Ojg5IiBuYW1lPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspICZsdDsgMSB5ZWFyIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28tMTExIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lOiBNb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmUgc2NoZWR1bGUiLz4KICAgICAgICAgICAgPGE6cyByPSI0MzgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiBsYXRlc3QgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OykgJmx0OyAxIHllYXIKQGNvZGU6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28tMTExCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQzOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NDQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmR1cmF0aW9uIGluIHllYXJzIGJldHdlZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0OSI+ICZsdDsgMTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQzOSIgbG9jYXRvcj0iMjA0OjMtMjA1Ojg5IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDQyIiBsb2NhdG9yPSIyMDQ6My0yMDQ6NTciIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NDEiIGxvY2F0b3I9IjIwNDozLTIwNDo1NyIgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0MCIgbG9jYXRvcj0iMjA0OjMtMjA0OjQ1IiBuYW1lPSJEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0MyIgbG9jYXRvcj0iMjA1OjctMjA1Ojg5IiB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDUwIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NTEiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NDQiIGxvY2F0b3I9IjIwNTo3LTIwNTo4NSIgcHJlY2lzaW9uPSJZZWFyIiB4c2k6dHlwZT0iRHVyYXRpb25CZXR3ZWVuIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NDciIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ0OCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0NSIgbG9jYXRvcj0iMjA1OjMzLTIwNTo3NSIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ0NiIgbG9jYXRvcj0iMjA1OjgxLTIwNTo4NSIgbmFtZT0iVG9kYXkiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0NDkiIGxvY2F0b3I9IjIwNTo4OSIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDYxIiBsb2NhdG9yPSIzNTA6MS0zNTE6NjMiIG5hbWU9Ik1lbmluZ29jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnRlcm5hbCIgdmFsdWU9Ik1lbmluZ29jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLz4KICAgICAgICAgICAgPGE6cyByPSI0NjEiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnRlcm5hbDogTWVuaW5nb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudAoqLwpkZWZpbmUgJnF1b3Q7TWVuaW5nb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0NjMiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ2MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7TWVuaW5nb2NvY2NhbCBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDYzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5zZXJpZXNCb29zdGVyKCk8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NjMiIGxvY2F0b3I9IjM1MTozLTM1MTo2MyIgbmFtZT0ic2VyaWVzQm9vc3RlciIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDYyIiBsb2NhdG9yPSIzNTE6My0zNTE6NDciIG5hbWU9Ik1lbmluZ29jb2NjYWwgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDU4IiBsb2NhdG9yPSIzNTY6MS0zNTc6NjkiIG5hbWU9Ik51bWJlciBvZiBNZW5pbmdvY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iTnVtYmVyIG9mIE1lbmluZ29jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNDU4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW50ZXJuYWw6IE51bWJlciBvZiBNZW5pbmdvY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZAoqLwpkZWZpbmUgJnF1b3Q7TnVtYmVyIG9mIE1lbmluZ29jb2NjYWwgQm9vc3RlciBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ2NyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Q291bnQoPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDY0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtNZW5pbmdvY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ2NyIgbG9jYXRvcj0iMzU3OjMtMzU3OjY5IiB4c2k6dHlwZT0iQ291bnQiPgogICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjQ2NCIgbG9jYXRvcj0iMzU3OjktMzU3OjY4IiBuYW1lPSJNZW5pbmdvY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCB0byBQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQ1NCIgbG9jYXRvcj0iMjE1OjEtMjE2OjY1IiBuYW1lPSJObyBtZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJObyBtZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O0Jvb3N0ZXIgZG9zZSZxdW90OykgPSAwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9Ik5vIG1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTIwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lOiBNb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmUgc2NoZWR1bGUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Qb2x5c2FjY2hhcmlkZSB2YWNjaW5lczogUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgc2NoZWR1bGUmI3hhOyhQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBjYW4gYmUgdXNlZCB0byBjb250cm9sIG91dGJyZWFrcyBpbiBjb3VudHJpZXMgd2hlcmUgbGltaXRlZCBlY29ub21pYyByZXNvdXJjZXMgb3IgaW5zdWZmaWNpZW50IHN1cHBseSByZXN0cmljdCB0aGUgdXNlIG9mIG1lbmluZ29jb2NjYWwgY29uanVnYXRlIHZhY2NpbmVzKSIvPgogICAgICAgICAgICA8YTpzIHI9IjQ1NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBObyBtZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDsgYW5kICZxdW90O1R5cGUgb2YgZG9zZSZxdW90OyA9ICZxdW90O0Jvb3N0ZXIgZG9zZSZxdW90OykgPSAwCkBjb2RlOiBObyBtZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkLTEyMApAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Qb2x5c2FjY2hhcmlkZSB2YWNjaW5lczogUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgc2NoZWR1bGUKKFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wgb3V0YnJlYWtzIGluIGNvdW50cmllcyB3aGVyZSBsaW1pdGVkIGVjb25vbWljIHJlc291cmNlcyBvciBpbnN1ZmZpY2llbnQgc3VwcGx5IHJlc3RyaWN0IHRoZSB1c2Ugb2YgbWVuaW5nb2NvY2NhbCBjb25qdWdhdGUgdmFjY2luZXMpCiovCmRlZmluZSAmcXVvdDtObyBtZW5pbmdvY29jY2FsIGJvb3N0ZXIgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ1NSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDY4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtOdW1iZXIgb2YgTWVuaW5nb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDY5Ij4gPSAwPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0NTUiIGxvY2F0b3I9IjIxNjozLTIxNjo2NSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI0NzAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ3MSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2OCIgbG9jYXRvcj0iMjE2OjMtMjE2OjYxIiBuYW1lPSJOdW1iZXIgb2YgTWVuaW5nb2NvY2NhbCBCb29zdGVyIFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ2OSIgbG9jYXRvcj0iMjE2OjY1IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDc0IiBsb2NhdG9yPSIyMjQ6MS0yMjU6NzUiIG5hbWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4omlIDEgeWVhciIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAxIHllYXIgYWdvLTExMSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNDc0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgbGF0ZXN0ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspIOKJpSAxIHllYXIKQGNvZGU6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28tMTExCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAxIHllYXIgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjQ3NSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+bm90IDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7VGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ3NSIgbG9jYXRvcj0iMjI1OjMtMjI1Ojc1IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDc2IiBsb2NhdG9yPSIyMjU6Ny0yMjU6NzUiIG5hbWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDEgeWVhciBhZ28iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDc5IiBsb2NhdG9yPSIyMzU6MS0yMzY6NjUiIG5hbWU9Ik1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9Ik1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7Qm9vc3RlciBkb3NlJnF1b3Q7KSA9IDEiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iTWVuaW5nb2NvY2NhbCBib29zdGVyIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZC0xMjAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Nb25vdmFsZW50IE1lbkMgY29uanVnYXRlIHZhY2NpbmU6IE1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzOiBQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzY2hlZHVsZSYjeGE7KFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wgb3V0YnJlYWtzIGluIGNvdW50cmllcyB3aGVyZSBsaW1pdGVkIGVjb25vbWljIHJlc291cmNlcyBvciBpbnN1ZmZpY2llbnQgc3VwcGx5IHJlc3RyaWN0IHRoZSB1c2Ugb2YgbWVuaW5nb2NvY2NhbCBjb25qdWdhdGUgdmFjY2luZXMpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNDc5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IE1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQKQHBzZXVkb2NvZGU6IENvdW50IG9mIHZhY2NpbmVzIGFkbWluaXN0ZXJlZCAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OyBhbmQgJnF1b3Q7VHlwZSBvZiBkb3NlJnF1b3Q7ID0gJnF1b3Q7Qm9vc3RlciBkb3NlJnF1b3Q7KSA9IDEKQGNvZGU6IE1lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQtMTIwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLk1vbm92YWxlbnQgTWVuQyBjb25qdWdhdGUgdmFjY2luZTogTW9ub3ZhbGVudCBNZW5DIGNvbmp1Z2F0ZSB2YWNjaW5lIHNjaGVkdWxlCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzOiBQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzY2hlZHVsZQooUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBvdXRicmVha3MgaW4gY291bnRyaWVzIHdoZXJlIGxpbWl0ZWQgZWNvbm9taWMgcmVzb3VyY2VzIG9yIGluc3VmZmljaWVudCBzdXBwbHkgcmVzdHJpY3QgdGhlIHVzZSBvZiBtZW5pbmdvY29jY2FsIGNvbmp1Z2F0ZSB2YWNjaW5lcykKKi8KZGVmaW5lICZxdW90O01lbmluZ29jb2NjYWwgYm9vc3RlciBkb3NlIHdhcyBhZG1pbmlzdGVyZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDgwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O051bWJlciBvZiBNZW5pbmdvY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0ODIiPiA9IDE8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ4MCIgbG9jYXRvcj0iMjM2OjMtMjM2OjY1IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ4MyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDg0IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDgxIiBsb2NhdG9yPSIyMzY6My0yMzY6NjEiIG5hbWU9Ik51bWJlciBvZiBNZW5pbmdvY29jY2FsIEJvb3N0ZXIgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDgyIiBsb2NhdG9yPSIyMzY6NjUiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0ODciIGxvY2F0b3I9IjI0NjoxLTI0Nzo0NiIgbmFtZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDIgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyAmbHQ7IDIgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzLTQwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAxIGRvc2U6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktQ1JNKSwgMS1kb3NlIHNjaGVkdWxlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUG9seXNhY2NoYXJpZGUgdmFjY2luZXM6IFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIHNjaGVkdWxlJiN4YTsoUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBvdXRicmVha3MgaW4gY291bnRyaWVzIHdoZXJlIGxpbWl0ZWQgZWNvbm9taWMgcmVzb3VyY2VzIG9yIGluc3VmZmljaWVudCBzdXBwbHkgcmVzdHJpY3QgdGhlIHVzZSBvZiBtZW5pbmdvY29jY2FsIGNvbmp1Z2F0ZSB2YWNjaW5lcykiLz4KICAgICAgICAgICAgPGE6cyByPSI0ODciPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgJmx0OyAyIHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDIgeWVhcnMtNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAxIGRvc2U6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktQ1JNKSwgMS1kb3NlIHNjaGVkdWxlCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzOiBQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzY2hlZHVsZQooUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBvdXRicmVha3MgaW4gY291bnRyaWVzIHdoZXJlIGxpbWl0ZWQgZWNvbm9taWMgcmVzb3VyY2VzIG9yIGluc3VmZmljaWVudCBzdXBwbHkgcmVzdHJpY3QgdGhlIHVzZSBvZiBtZW5pbmdvY29jY2FsIGNvbmp1Z2F0ZSB2YWNjaW5lcykKKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMiB5ZWFycyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI0ODgiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDg5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q3VycmVudCBQYXRpZW50IEFnZSBJbiBZZWFycyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkxIj4gJmx0OyAyPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI0ODgiIGxvY2F0b3I9IjI0NzozLTI0Nzo0NiIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjQ5MiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNDkzIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDkwIiBsb2NhdG9yPSIyNDc6My0yNDc6NDIiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ5MSIgbG9jYXRvcj0iMjQ3OjQ2IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNDk2IiBsb2NhdG9yPSIyNTU6MS0yNTY6NDciIG5hbWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMiB5ZWFycyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAyIHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsg4omlIDIgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAyIHllYXJzLTQwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAxIGRvc2U6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktQ1JNKSwgMS1kb3NlIHNjaGVkdWxlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNDk2Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMiB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAyIHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDIgeWVhcnMtNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAxIGRvc2U6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktQ1JNKSwgMS1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDIgeWVhcnMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNDk3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUwMCI+ID49IDI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjQ5NyIgbG9jYXRvcj0iMjU2OjMtMjU2OjQ3IiB4c2k6dHlwZT0iR3JlYXRlck9yRXF1YWwiPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUwMSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTAyIiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDk5IiBsb2NhdG9yPSIyNTY6My0yNTY6NDIiIG5hbWU9IkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUwMCIgbG9jYXRvcj0iMjU2OjQ3IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTA1IiBsb2NhdG9yPSIyNjQ6MS0yNjU6MzgiIG5hbWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSBtb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgOSBtb250aHMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byA5IG1vbnRocy00MSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgMiBkb3NlczogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1EKSwgMi1kb3NlIHNjaGVkdWxlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTA1Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaUgOSBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSBtb250aHMtNDEKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAyIGRvc2VzOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUQpLCAyLWRvc2Ugc2NoZWR1bGUKKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSBtb250aHMmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTA2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDkgbW9udGhzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MDYiIGxvY2F0b3I9IjI2NTozLTI2NTozOCIgbmFtZT0iQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiA5IG1vbnRocyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTA5IiBsb2NhdG9yPSIyNzM6MS0yNzQ6NzIiIG5hbWU9IkNsaWVudCdzIGFnZSB3YXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDIzIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIHdhcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMjMgbW9udGhzIHdoZW4gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBzdGFydGVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspIC0gJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaQgMjMgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IkNsaWVudCdzIGFnZSB3YXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDIzIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZC0xMTAiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDIgZG9zZXM6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktRCksIDItZG9zZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTpzIHI9IjUwOSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBDbGllbnQncyBhZ2Ugd2FzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAyMyBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQKQHBzZXVkb2NvZGU6ICZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspIC0gJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyDiiaQgMjMgbW9udGhzCkBjb2RlOiBDbGllbnQncyBhZ2Ugd2FzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAyMyBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQtMTEwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgMiBkb3NlczogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1EKSwgMi1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAmcXVvdDtDbGllbnQncyBhZ2Ugd2FzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAyMyBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTEwIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MTYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkFnZUluTW9udGhzQXQoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTExIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIEZpcnN0IFByaW1hcnkgU2VyaWVzIE1lbmluZ29jb2NjYWwgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxOSI+ICZsdDs9IDIzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MTAiIGxvY2F0b3I9IjI3NDozLTI3NDo3MiIgeHNpOnR5cGU9Ikxlc3NPckVxdWFsIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1MjAiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUyMSIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUxNiIgbG9jYXRvcj0iMjc0OjMtMjc0OjY2IiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUxNyIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTE4IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTE1IiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTE0IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUxMSIgbG9jYXRvcj0iMjc0OjE3LTI3NDo2NSIgbmFtZT0iRGF0ZSBvZiBGaXJzdCBQcmltYXJ5IFNlcmllcyBNZW5pbmdvY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTE5IiBsb2NhdG9yPSIyNzQ6NzEtMjc0OjcyIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUyNCIgbG9jYXRvcj0iMjgyOjEtMjg0OjkwIiBuYW1lPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIG1vbnRocyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgbW9udGhzIGFnbyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDMgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgbW9udGhzIGFnby0xMDYiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDIgZG9zZXM6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktRCksIDItZG9zZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTpzIHI9IjUyNCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIG1vbnRocyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90OykgJmx0OyAzIG1vbnRocwpAY29kZTogVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyBtb250aHMgYWdvLTEwNgpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDIgZG9zZXM6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktRCksIDItZG9zZSBzY2hlZHVsZQoqLwpkZWZpbmUgJnF1b3Q7VGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyBtb250aHMgYWdvJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjUyNSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTI4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MjYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTI5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmR1cmF0aW9uIGluIG1vbnRocyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjUzMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MzUiPiAmbHQ7IDM8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1MjUiIGxvY2F0b3I9IjI4MzozLTI4NDo5MCIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUyOCIgbG9jYXRvcj0iMjgzOjMtMjgzOjU3IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTI3IiBsb2NhdG9yPSIyODM6My0yODM6NTciIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MjYiIGxvY2F0b3I9IjI4MzozLTI4Mzo0NSIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1MjkiIGxvY2F0b3I9IjI4NDo3LTI4NDo5MCIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUzNiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTM3IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTMwIiBsb2NhdG9yPSIyODQ6Ny0yODQ6ODYiIHByZWNpc2lvbj0iTW9udGgiIHhzaTp0eXBlPSJEdXJhdGlvbkJldHdlZW4iPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjUzMyIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTM0IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTMxIiBsb2NhdG9yPSIyODQ6MzQtMjg0Ojc2IiBuYW1lPSJEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTMyIiBsb2NhdG9yPSIyODQ6ODItMjg0Ojg2IiBuYW1lPSJUb2RheSIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUzNSIgbG9jYXRvcj0iMjg0OjkwIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NDAiIGxvY2F0b3I9IjI5MjoxLTI5Mzo3NyIgbmFtZT0iVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMyBtb250aHMgYWdvIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iaW5wdXQiIHZhbHVlPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIG1vbnRocyBhZ28iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4omlIDMgbW9udGhzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgbW9udGhzIGFnby0xMDYiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5RdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIDIgZG9zZXM6IFF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgKEEsQyxXMTM1LFktRCksIDItZG9zZSBzY2hlZHVsZSIvPgogICAgICAgICAgICA8YTpzIHI9IjU0MCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIG1vbnRocyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4omlIDMgbW9udGhzCkBjb2RlOiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIG1vbnRocyBhZ28tMTA2CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlF1YWRyaXZhbGVudCBjb25qdWdhdGUgdmFjY2luZXMgMiBkb3NlczogUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAoQSxDLFcxMzUsWS1EKSwgMi1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIG1vbnRocyBhZ28mcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iNTQxIj4KICAgICAgICAgICAgICAgICAgPGE6cz5ub3QgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTQyIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIG1vbnRocyBhZ28mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NDEiIGxvY2F0b3I9IjI5MzozLTI5Mzo3NyIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU0MiIgbG9jYXRvcj0iMjkzOjctMjkzOjc3IiBuYW1lPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIG1vbnRocyBhZ28iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNTQ1IiBsb2NhdG9yPSIzMDE6MS0zMDI6NzEiIG5hbWU9IkNsaWVudCdzIGFnZSB3YXMgbW9yZSB0aGFuIDIzIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iQ2xpZW50J3MgYWdlIHdhcyBtb3JlIHRoYW4gMjMgbW9udGhzIHdoZW4gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBzdGFydGVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspIC0gJnF1b3Q7RGF0ZSBvZiBiaXJ0aCZxdW90OyA+IDIzIG1vbnRocyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJDbGllbnQncyBhZ2Ugd2FzIG1vcmUgdGhhbiAyMyBtb250aHMgd2hlbiB0aGUgcHJpbWFyeSBzZXJpZXMgd2FzIHN0YXJ0ZWQtMTEwIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAyIGRvc2VzOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUQpLCAyLWRvc2Ugc2NoZWR1bGUiLz4KICAgICAgICAgICAgPGE6cyByPSI1NDUiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIHdhcyBtb3JlIHRoYW4gMjMgbW9udGhzIHdoZW4gdGhlIHByaW1hcnkgc2VyaWVzIHdhcyBzdGFydGVkCkBwc2V1ZG9jb2RlOiAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSAtICZxdW90O0RhdGUgb2YgYmlydGgmcXVvdDsgPiAyMyBtb250aHMKQGNvZGU6IENsaWVudCdzIGFnZSB3YXMgbW9yZSB0aGFuIDIzIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZC0xMTAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUXVhZHJpdmFsZW50IGNvbmp1Z2F0ZSB2YWNjaW5lcyAyIGRvc2VzOiBRdWFkcml2YWxlbnQgY29uanVnYXRlIHZhY2NpbmVzIChBLEMsVzEzNSxZLUQpLCAyLWRvc2Ugc2NoZWR1bGUKKi8KZGVmaW5lICZxdW90O0NsaWVudCdzIGFnZSB3YXMgbW9yZSB0aGFuIDIzIG1vbnRocyB3aGVuIHRoZSBwcmltYXJ5IHNlcmllcyB3YXMgc3RhcnRlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NDYiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1MiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+QWdlSW5Nb250aHNBdCg8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NDciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0RhdGUgb2YgRmlyc3QgUHJpbWFyeSBTZXJpZXMgTWVuaW5nb2NvY2NhbCBEb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTU1Ij4gPiAyMzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTQ2IiBsb2NhdG9yPSIzMDI6My0zMDI6NzEiIHhzaTp0eXBlPSJHcmVhdGVyIj4KICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1NTYiIG5hbWU9InQ6SW50ZWdlciIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU1NyIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU1MiIgbG9jYXRvcj0iMzAyOjMtMzAyOjY2IiBwcmVjaXNpb249Ik1vbnRoIiB4c2k6dHlwZT0iQ2FsY3VsYXRlQWdlQXQiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU1MyIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTU0IiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTUxIiBwYXRoPSJiaXJ0aERhdGUudmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNTUwIiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU0NyIgbG9jYXRvcj0iMzAyOjE3LTMwMjo2NSIgbmFtZT0iRGF0ZSBvZiBGaXJzdCBQcmltYXJ5IFNlcmllcyBNZW5pbmdvY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTU1IiBsb2NhdG9yPSIzMDI6NzAtMzAyOjcxIiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU2MCIgbG9jYXRvcj0iMzExOjEtMzEyOjQ5IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDIgeWVhcnMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gMiB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAyIHllYXJzIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iY29kZSIgdmFsdWU9IkNsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gMiB5ZWFycy00MCIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImRlY2lzaW9uIiB2YWx1ZT0iSU1NWi5EMi5EVC5NZW5pbmdvY29jY2FsLlBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzOiBQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBzY2hlZHVsZSYjeGE7KFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wgb3V0YnJlYWtzIGluIGNvdW50cmllcyB3aGVyZSBsaW1pdGVkIGVjb25vbWljIHJlc291cmNlcyBvciBpbnN1ZmZpY2llbnQgc3VwcGx5IHJlc3RyaWN0IHRoZSB1c2Ugb2YgbWVuaW5nb2NvY2NhbCBjb25qdWdhdGUgdmFjY2luZXMpIi8+CiAgICAgICAgICAgIDxhOnMgcj0iNTYwIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gMiB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIG9mIGJpcnRoJnF1b3Q7IOKJpSAyIHllYXJzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIDIgeWVhcnMtNDAKQGRlY2lzaW9uOiBJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUG9seXNhY2NoYXJpZGUgdmFjY2luZXM6IFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIHNjaGVkdWxlCihQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBjYW4gYmUgdXNlZCB0byBjb250cm9sIG91dGJyZWFrcyBpbiBjb3VudHJpZXMgd2hlcmUgbGltaXRlZCBlY29ub21pYyByZXNvdXJjZXMgb3IgaW5zdWZmaWNpZW50IHN1cHBseSByZXN0cmljdCB0aGUgdXNlIG9mIG1lbmluZ29jb2NjYWwgY29uanVnYXRlIHZhY2NpbmVzKQoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiAyIHllYXJzJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjU2MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAyIHllYXJzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NjEiIGxvY2F0b3I9IjMxMjozLTMxMjo0OSIgbmFtZT0iQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAyIHllYXJzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI1NjQiIGxvY2F0b3I9IjMyMToxLTMyMzo4OSIgbmFtZT0iVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyB5ZWFycyBhZ28iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJpbnB1dCIgdmFsdWU9IlRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgeWVhcnMgYWdvIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0RhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24mcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O01lbmluZ29jb2NjYWwgdmFjY2luZXMmcXVvdDspICZsdDsgMyB5ZWFycyIvPgogICAgICAgICAgICA8YTp0IG5hbWU9ImNvZGUiIHZhbHVlPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnby0xMDUiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkZWNpc2lvbiIgdmFsdWU9IklNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Qb2x5c2FjY2hhcmlkZSB2YWNjaW5lczogUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgc2NoZWR1bGUmI3hhOyhQb2x5c2FjY2hhcmlkZSB2YWNjaW5lcyBjYW4gYmUgdXNlZCB0byBjb250cm9sIG91dGJyZWFrcyBpbiBjb3VudHJpZXMgd2hlcmUgbGltaXRlZCBlY29ub21pYyByZXNvdXJjZXMgb3IgaW5zdWZmaWNpZW50IHN1cHBseSByZXN0cmljdCB0aGUgdXNlIG9mIG1lbmluZ29jb2NjYWwgY29uanVnYXRlIHZhY2NpbmVzKSIvPgogICAgICAgICAgICA8YTpzIHI9IjU2NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQGlucHV0OiBUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnbwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAmcXVvdDtEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtNZW5pbmdvY29jY2FsIHZhY2NpbmVzJnF1b3Q7KSAmbHQ7IDMgeWVhcnMKQGNvZGU6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgeWVhcnMgYWdvLTEwNQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Qb2x5c2FjY2hhcmlkZSB2YWNjaW5lczogUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgc2NoZWR1bGUKKFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wgb3V0YnJlYWtzIGluIGNvdW50cmllcyB3aGVyZSBsaW1pdGVkIGVjb25vbWljIHJlc291cmNlcyBvciBpbnN1ZmZpY2llbnQgc3VwcGx5IHJlc3RyaWN0IHRoZSB1c2Ugb2YgbWVuaW5nb2NvY2NhbCBjb25qdWdhdGUgdmFjY2luZXMpCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnbyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1NjUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2OCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTY2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEYXRlIG9mIExhdGVzdCBQcmltYXJ5IE1lbmluZ29jb2NjYWwgRG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbm90IG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjU2OSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5kdXJhdGlvbiBpbiB5ZWFycyBiZXR3ZWVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7RGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NzUiPiAmbHQ7IDM8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI1NjUiIGxvY2F0b3I9IjMyMjozLTMyMzo4OSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU2OCIgbG9jYXRvcj0iMzIyOjMtMzIyOjU3IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTY3IiBsb2NhdG9yPSIzMjI6My0zMjI6NTciIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NjYiIGxvY2F0b3I9IjMyMjozLTMyMjo0NSIgbmFtZT0iRGF0ZSBvZiBMYXRlc3QgUHJpbWFyeSBNZW5pbmdvY29jY2FsIERvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NjkiIGxvY2F0b3I9IjMyMzo3LTMyMzo4OSIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjU3NiIgbmFtZT0idDpJbnRlZ2VyIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTc3IiBuYW1lPSJ0OkludGVnZXIiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTcwIiBsb2NhdG9yPSIzMjM6Ny0zMjM6ODUiIHByZWNpc2lvbj0iWWVhciIgeHNpOnR5cGU9IkR1cmF0aW9uQmV0d2VlbiI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iNTczIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSI1NzQiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NzEiIGxvY2F0b3I9IjMyMzozMy0zMjM6NzUiIG5hbWU9IkRhdGUgb2YgTGF0ZXN0IFByaW1hcnkgTWVuaW5nb2NvY2NhbCBEb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1NzIiIGxvY2F0b3I9IjMyMzo4MS0zMjM6ODUiIG5hbWU9IlRvZGF5IiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTc1IiBsb2NhdG9yPSIzMjM6ODkiIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjU4MCIgbG9jYXRvcj0iMzMyOjEtMzMzOjc2IiBuYW1lPSJUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIHllYXJzIGFnbyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImlucHV0IiB2YWx1ZT0iVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMyB5ZWFycyBhZ28iLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4omlIDMgeWVhcnMiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJjb2RlIiB2YWx1ZT0iVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMyB5ZWFycyBhZ28tMTA1Ii8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZGVjaXNpb24iIHZhbHVlPSJJTU1aLkQyLkRULk1lbmluZ29jb2NjYWwuUG9seXNhY2NoYXJpZGUgdmFjY2luZXM6IFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIHNjaGVkdWxlJiN4YTsoUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgY2FuIGJlIHVzZWQgdG8gY29udHJvbCBvdXRicmVha3MgaW4gY291bnRyaWVzIHdoZXJlIGxpbWl0ZWQgZWNvbm9taWMgcmVzb3VyY2VzIG9yIGluc3VmZmljaWVudCBzdXBwbHkgcmVzdHJpY3QgdGhlIHVzZSBvZiBtZW5pbmdvY29jY2FsIGNvbmp1Z2F0ZSB2YWNjaW5lcykiLz4KICAgICAgICAgICAgPGE6cyByPSI1ODAiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBpbnB1dDogVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMyB5ZWFycyBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgJnF1b3Q7RGF0ZSBhbmQgdGltZSBvZiB2YWNjaW5hdGlvbiZxdW90OyAod2hlcmUgJnF1b3Q7VmFjY2luZSB0eXBlJnF1b3Q7ID0gJnF1b3Q7TWVuaW5nb2NvY2NhbCB2YWNjaW5lcyZxdW90Oykg4omlIDMgeWVhcnMKQGNvZGU6IFRoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgeWVhcnMgYWdvLTEwNQpAZGVjaXNpb246IElNTVouRDIuRFQuTWVuaW5nb2NvY2NhbC5Qb2x5c2FjY2hhcmlkZSB2YWNjaW5lczogUG9seXNhY2NoYXJpZGUgdmFjY2luZXMgc2NoZWR1bGUKKFBvbHlzYWNjaGFyaWRlIHZhY2NpbmVzIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wgb3V0YnJlYWtzIGluIGNvdW50cmllcyB3aGVyZSBsaW1pdGVkIGVjb25vbWljIHJlc291cmNlcyBvciBpbnN1ZmZpY2llbnQgc3VwcGx5IHJlc3RyaWN0IHRoZSB1c2Ugb2YgbWVuaW5nb2NvY2NhbCBjb25qdWdhdGUgdmFjY2luZXMpCiovCmRlZmluZSAmcXVvdDtUaGUgbGF0ZXN0IG1lbmluZ29jb2NjYWwgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIHllYXJzIGFnbyZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1ODEiPgogICAgICAgICAgICAgICAgICA8YTpzPm5vdCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1ODIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RoZSBsYXRlc3QgbWVuaW5nb2NvY2NhbCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgeWVhcnMgYWdvJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTgxIiBsb2NhdG9yPSIzMzM6My0zMzM6NzYiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1ODIiIGxvY2F0b3I9IjMzMzo3LTMzMzo3NiIgbmFtZT0iVGhlIGxhdGVzdCBtZW5pbmdvY29jY2FsIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMyB5ZWFycyBhZ28iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo="/>
</content>
</Library>