WHO SMART Guidelines - HIV
0.3.0 - ci-build
WHO SMART Guidelines - HIV - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Draft as of 2024-11-07 |
{
"resourceType" : "Library",
"id" : "HIVIND37Logic",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"
]
},
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: Library HIVIND37Logic</b></p><a name=\"HIVIND37Logic\"> </a><a name=\"hcHIVIND37Logic\"> </a><a name=\"HIVIND37Logic-en-US\"> </a><h2>Related Artifacts</h2><table class=\"grid\"><tr><td>Depends On</td><td>Library HIC</td><td><code>http://smart.who.int/hiv/Library/HIVCommon|0.0.1</code></td></tr><tr><td>Depends On</td><td>Library WCom</td><td><a href=\"Library-WHOCommon.html\">WHOCommon</a></td></tr><tr><td>Depends On</td><td>Library HIE</td><td><a href=\"Library-HIVIndicatorElements.html\">HIVIndicatorElements</a></td></tr><tr><td>Depends On</td><td>Library HE</td><td><a href=\"Library-HIVElements.html\">HIVElements</a></td></tr></table><h2>Parameters</h2><table class=\"grid\"><tr><td>Measurement Period</td><td>in</td><td>0</td><td>1</td><td>Period</td></tr><tr><td>Patient</td><td>out</td><td>0</td><td>1</td><td>Patient</td></tr><tr><td>Initial Population</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr><tr><td>First Health facility</td><td>out</td><td>0</td><td>1</td><td>Procedure</td></tr><tr><td>Numerator</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr><tr><td>Denominator</td><td>out</td><td>0</td><td>1</td><td>boolean</td></tr><tr><td>Age Stratifier</td><td>out</td><td>0</td><td>1</td><td>string</td></tr><tr><td>Geographic Region Stratifier</td><td>out</td><td>0</td><td>1</td><td>string</td></tr><tr><td>Stratification</td><td>out</td><td>0</td><td>1</td><td>string</td></tr></table><h2>Contents</h2><p><code>text/cql</code></p><pre><code class=\"language-sql\">/**\n * Library: HIV.IND.37 Logic\n * Ref No: VER.1\n * Short Name: Viral suppression at labour and delivery\n *\n * Definition: % of HIV-positive pregnant women who are virally suppressed at labour and delivery\n *\n * Numerator: Number of HIV-positive pregnant women on ART during pregnancy and delivering at a facility during the reporting period who were virally suppressed (<1000 copies/mL) at delivery\n * Numerator Calculation: COUNT of clients with "HIV status"='HIV-positive' AND "Place of delivery" is a 'Health facility' AND "Delivery date" is in the reporting period AND "Date of viral load sample collection" is on "Delivery date" AND "Viral load test result" LESS THAN 1000 copies/mL\n * Numerator Exclusions: \n *\n * Denominator: Number of HIV-positive pregnant women on ART during pregnancy who deliver at a facility during the reporting period and had a viral load test during delivery, or the estimated total number of pregnant women living with HIV\n * Denominator Calculation: COUNT of clients with "HIV status"='HIV-positive' AND "Place of delivery" is a 'Health facility' AND "Delivery date" is in the reporting period AND "Date of viral load sample collection" is on "Delivery date" | | Alternatively: *Estimated total number of pregnant women living with HIV\n * Denominator Exclusions: \n *\n * Disaggregations:\n * • Age (<15, 15–19, 20–25, 25+ years) \n * •\u00a0Timing of ART initiation (during pregnancy, on ART at first ANC visit) \n * • Cities and other administrative regions of epidemiologic importance\n *\n * Disaggregation Elements: Age | Timing of ART initiation\n *\n * Numerator and Denominator Elements:\n * Date of viral load sample collection \n * Delivery date \n * HIV status \n * Place of delivery \n * Viral load test result\n *\n * Reference: Consolidated guidelines on person-centred HIV strategic information: strengthening routine data for impact. Geneva: World Health Organization; 2022\n * \n * Data Concepts:\n * HIV.A.DE17: Age | Calculated age (number of years) of the client based on date of birth\n * HIV.B.DE115: HIV status | HIV status reported after applying the national HIV testing algorithm. No single HIV test can provide an HIV-positive diagnosis.\n * HIV.B.DE116: HIV-positive | Client is HIV-positive\n * HIV.B.DE117: HIV-negative | Client is HIV-negative\n * HIV.B.DE118: Unknown | Client has unknown HIV status\n * HIV.D.DE194: Date of viral load sample collection | Date and time when the sample was collected to test the client's HIV viral load\n * HIV.D.DE387: Viral load test result | Result from the viral load test in number of copies/mL\n * HIV.E.DE41: Timing of ART initiation | When the pregnant woman or mother initiated ART, for women living with HIV.\n * HIV.E.DE42: Already on ART at first antenatal care visit | The pregnant woman was already on antiretroviral therapy (ART) at first antenatal care visit\n * HIV.E.DE43: Newly on ART during pregnancy | The pregnant woman started ART during her pregnancy\n * HIV.E.DE44: Newly on ART during labour and delivery | The woman started ART during labour and delivery\n * HIV.E.DE46: Delivery date | Date on which the woman delivered\n * HIV.E.DE67: Place of delivery | The type of place where the woman delivered\n * HIV.E.DE68: Health facility | The woman delivered at a health facility\n * HIV.E.DE69: Home | The woman delivered at home\n * HIV.E.DE70: Other | The woman delivered at another location that is not at home or at a health facility\n * HIV.G.DE8: Date of viral load sample collection | Date and time when the sample was collected to test the client's HIV viral load\n * HIV.G.DE12: Viral load test result | Result from the viral load test in number of copies/mL\n * HIV.SRV.DE12: Date of viral load sample collection | Date and time when the sample was collected to test the client's HIV viral load\n * HIV.SRV.DE13: Viral load test result | Result from the viral load test in number of copies/mL\n *\n * Additional Context\n * - what it measures: This indicator measures viral suppression at the time of delivery among HIV-positive pregnant women.\n * - rationale: • Viral suppression at the time of delivery is a service quality measure at a critical point in the vertical transmission risk period. | •\u00a0Two different denominators give indicators similar to general measures of viral suppression among people living with HIV: The programme-based/service delivery denominator, that is, those on ART, delivering in a facility and having a viral load test, measures the third "95" target. The population-based denominator, that is, viral load among all estimated pregnant women living with HIV, regardless of ART status or ANC/facility attendance, measures population viral load suppression (of pregnant women living with HIV).\n * - method: For the numerator: | Patient monitoring tools/EMRs (for example, PMTCT registers, patient records) | | For the denominator: | •\u00a0Population-based denominator: modelling-based estimates (for example, Spectrum AIM) | •\u00a0Programme-based/service delivery denominator: programme records, labour and delivery registers/EMRs | Note: This indicator should be interpreted with consideration of the VL testing coverage of pregnant women living with HIV at delivery. | | The recommended reporting period is 12 months.\n * \n * Suggested Scoring Method: proportion | http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm\n */\n\nlibrary HIVIND37Logic\n\n// Included Libraries\nusing FHIR version '4.0.1'\n\ninclude HIVCommon version '0.0.1' called HIC\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOCommon called WCom\n\ninclude HIVIndicatorElements called HIE\ninclude HIVElements called HE\n\n// Indicator Definition\nparameter "Measurement Period" Interval<Date> default Interval[@2023-01-01, @2023-01-30]\n\ncontext Patient\n/* Populations */\n\n/*\n *Initial Population\n */\n\ndefine "Initial Population":\n true\n\n/**\n * Numerator\n * \n * Definition: Number of HIV-positive pregnant women on ART during pregnancy and delivering at a facility during the reporting period who were virally suppressed (<1000 copies/mL) at delivery\n * Calculation: COUNT of clients with "HIV status"='HIV-positive' AND "Place of delivery" is a 'Health facility' AND "Delivery date" is in the reporting period AND "Date of viral load sample collection" is on "Delivery date" AND "Viral load test result" LESS THAN 1000 copies/mL\n */\n\ndefine "First Health facility":\n (First(HE."Health facility"))\n\ndefine "Numerator":\n HIE."Has HIV-positive Status"\n and HIE."On ART D.DE38"\n and HIE."Health facility"\n and exists(\n HIE."Viral load test result D.DE387" VL\n with HE."viral load sample collection" P \n such that VL.partOf.references(P) and start of P.performed.toInterval() = start of "First Health facility".performed.toInterval()\n where VL.value < 1000\n )\n\n\n/**\n * Denominator\n *\n * Definition: Number of HIV-positive pregnant women on ART during pregnancy who deliver at a facility during the reporting period and had a viral load test during delivery, or the estimated total number of pregnant women living with HIV\n * Calculation: COUNT of clients with "HIV status"='HIV-positive' AND "Place of delivery" is a 'Health facility' AND "Delivery date" is in the reporting period AND "Date of viral load sample collection" is on "Delivery date" | | Alternatively: *Estimated total number of pregnant women living with HIV\n */\n\ndefine "Denominator":\n HIE."Has HIV-positive Status"\n and HIE."On ART D.DE38"\n and HIE."Health facility"\n and exists(\n HIE."Viral load test result D.DE387" VL\n with HE."viral load sample collection" P \n such that VL.partOf.references(P) and start of P.performed.toInterval() = start of "First Health facility".performed.toInterval()\n )\n\n/* end Populations */\n\n/*\n * Disaggregators\n */\n\n\ndefine "Age Stratifier":\n\tHIE."By Age Stratifier 3"\n\ndefine "Geographic Region Stratifier":\n\tHIE."By Geographic Region Stratifier"\n\ndefine "Stratification":\n HIE."By Age Stratifier 3"\n+ ':' + HIE."By Geographic Region Stratifier"\n\n // need to add Timing of ART initiation (during pregnancy, on ART at first ANC visit)</code></pre><p><code>Content not shown - (</code><code>application/elm+xml</code>, size = 38Kb )</p></div>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
"valueCode" : "computable"
}
],
"url" : "http://smart.who.int/hiv/Library/HIVIND37Logic",
"version" : "0.3.0",
"name" : "HIVIND37Logic",
"title" : "HIV.IND.37 Logic",
"status" : "draft",
"experimental" : true,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2024-11-07T21:07:17+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"description" : "% of HIV-positive pregnant women who are virally suppressed at labour and delivery",
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library HIC",
"resource" : "http://smart.who.int/hiv/Library/HIVCommon|0.0.1"
},
{
"type" : "depends-on",
"display" : "Library WCom",
"resource" : "http://smart.who.int/hiv/Library/WHOCommon"
},
{
"type" : "depends-on",
"display" : "Library HIE",
"resource" : "http://smart.who.int/hiv/Library/HIVIndicatorElements"
},
{
"type" : "depends-on",
"display" : "Library HE",
"resource" : "http://smart.who.int/hiv/Library/HIVElements"
}
],
"parameter" : [
{
"name" : "Measurement Period",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "Period"
},
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "Initial Population",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "First Health facility",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Procedure"
},
{
"name" : "Numerator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Denominator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Age Stratifier",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Geographic Region Stratifier",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Stratification",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuMzcgTG9naWMKICogUmVmIE5vOiBWRVIuMQogKiBTaG9ydCBOYW1lOiBWaXJhbCBzdXBwcmVzc2lvbiBhdCBsYWJvdXIgYW5kIGRlbGl2ZXJ5CiAqCiAqIERlZmluaXRpb246ICUgb2YgSElWLXBvc2l0aXZlIHByZWduYW50IHdvbWVuIHdobyBhcmUgdmlyYWxseSBzdXBwcmVzc2VkIGF0IGxhYm91ciBhbmQgZGVsaXZlcnkKICoKICogTnVtZXJhdG9yOiBOdW1iZXIgb2YgSElWLXBvc2l0aXZlIHByZWduYW50IHdvbWVuIG9uIEFSVCBkdXJpbmcgcHJlZ25hbmN5IGFuZCBkZWxpdmVyaW5nIGF0IGEgZmFjaWxpdHkgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kIHdobyB3ZXJlIHZpcmFsbHkgc3VwcHJlc3NlZCAoPDEwMDAgY29waWVzL21MKSBhdCBkZWxpdmVyeQogKiBOdW1lcmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIGNsaWVudHMgd2l0aCAiSElWIHN0YXR1cyI9J0hJVi1wb3NpdGl2ZScgQU5EICJQbGFjZSBvZiBkZWxpdmVyeSIgaXMgYSAnSGVhbHRoIGZhY2lsaXR5JyBBTkQgIkRlbGl2ZXJ5IGRhdGUiIGlzIGluIHRoZSByZXBvcnRpbmcgcGVyaW9kIEFORCAiRGF0ZSBvZiB2aXJhbCBsb2FkIHNhbXBsZSBjb2xsZWN0aW9uIiBpcyBvbiAiRGVsaXZlcnkgZGF0ZSIgQU5EICJWaXJhbCBsb2FkIHRlc3QgcmVzdWx0IiBMRVNTIFRIQU4gMTAwMCBjb3BpZXMvbUwKICogTnVtZXJhdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEZW5vbWluYXRvcjogTnVtYmVyIG9mIEhJVi1wb3NpdGl2ZSBwcmVnbmFudCB3b21lbiBvbiBBUlQgZHVyaW5nIHByZWduYW5jeSB3aG8gZGVsaXZlciBhdCBhIGZhY2lsaXR5IGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZCBhbmQgaGFkIGEgdmlyYWwgbG9hZCB0ZXN0IGR1cmluZyBkZWxpdmVyeSwgb3IgdGhlIGVzdGltYXRlZCB0b3RhbCBudW1iZXIgb2YgcHJlZ25hbnQgd29tZW4gbGl2aW5nIHdpdGggSElWCiAqIERlbm9taW5hdG9yIENhbGN1bGF0aW9uOiBDT1VOVCBvZiBjbGllbnRzIHdpdGggIkhJViBzdGF0dXMiPSdISVYtcG9zaXRpdmUnIEFORCAiUGxhY2Ugb2YgZGVsaXZlcnkiIGlzIGEgJ0hlYWx0aCBmYWNpbGl0eScgQU5EICJEZWxpdmVyeSBkYXRlIiBpcyBpbiB0aGUgcmVwb3J0aW5nIHBlcmlvZCBBTkQgIkRhdGUgb2YgdmlyYWwgbG9hZCBzYW1wbGUgY29sbGVjdGlvbiIgaXMgb24gIkRlbGl2ZXJ5IGRhdGUiIHwgIHwgQWx0ZXJuYXRpdmVseTogKkVzdGltYXRlZCB0b3RhbCBudW1iZXIgb2YgcHJlZ25hbnQgd29tZW4gbGl2aW5nIHdpdGggSElWCiAqIERlbm9taW5hdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEaXNhZ2dyZWdhdGlvbnM6CiAqIOKAoiBBZ2UgKDwxNSwgMTXigJMxOSwgMjDigJMyNSwgMjUrIHllYXJzKSAKICogIOKAosKgVGltaW5nIG9mIEFSVCBpbml0aWF0aW9uIChkdXJpbmcgcHJlZ25hbmN5LCBvbiBBUlQgYXQgZmlyc3QgQU5DIHZpc2l0KSAKICogIOKAoiBDaXRpZXMgYW5kIG90aGVyIGFkbWluaXN0cmF0aXZlIHJlZ2lvbnMgb2YgZXBpZGVtaW9sb2dpYyBpbXBvcnRhbmNlCiAqCiAqIERpc2FnZ3JlZ2F0aW9uIEVsZW1lbnRzOiBBZ2UgfCBUaW1pbmcgb2YgQVJUIGluaXRpYXRpb24KICoKICogTnVtZXJhdG9yIGFuZCBEZW5vbWluYXRvciBFbGVtZW50czoKICogRGF0ZSBvZiB2aXJhbCBsb2FkIHNhbXBsZSBjb2xsZWN0aW9uIAogKiAgRGVsaXZlcnkgZGF0ZSAKICogIEhJViBzdGF0dXMgCiAqICBQbGFjZSBvZiBkZWxpdmVyeSAKICogIFZpcmFsIGxvYWQgdGVzdCByZXN1bHQKICoKICogUmVmZXJlbmNlOiBDb25zb2xpZGF0ZWQgZ3VpZGVsaW5lcyBvbiBwZXJzb24tY2VudHJlZCBISVYgc3RyYXRlZ2ljIGluZm9ybWF0aW9uOiBzdHJlbmd0aGVuaW5nIHJvdXRpbmUgZGF0YSBmb3IgaW1wYWN0LiBHZW5ldmE6IFdvcmxkIEhlYWx0aCBPcmdhbml6YXRpb247IDIwMjIKICogCiAqIERhdGEgQ29uY2VwdHM6CiAqIEhJVi5BLkRFMTc6IEFnZSB8IENhbGN1bGF0ZWQgYWdlIChudW1iZXIgb2YgeWVhcnMpIG9mIHRoZSBjbGllbnQgYmFzZWQgb24gZGF0ZSBvZiBiaXJ0aAogKiBISVYuQi5ERTExNTogSElWIHN0YXR1cyB8IEhJViBzdGF0dXMgcmVwb3J0ZWQgYWZ0ZXIgYXBwbHlpbmcgdGhlIG5hdGlvbmFsIEhJViB0ZXN0aW5nIGFsZ29yaXRobS4gTm8gc2luZ2xlIEhJViB0ZXN0IGNhbiBwcm92aWRlIGFuIEhJVi1wb3NpdGl2ZSBkaWFnbm9zaXMuCiAqIEhJVi5CLkRFMTE2OiBISVYtcG9zaXRpdmUgfCBDbGllbnQgaXMgSElWLXBvc2l0aXZlCiAqIEhJVi5CLkRFMTE3OiBISVYtbmVnYXRpdmUgfCBDbGllbnQgaXMgSElWLW5lZ2F0aXZlCiAqIEhJVi5CLkRFMTE4OiBVbmtub3duIHwgQ2xpZW50IGhhcyB1bmtub3duIEhJViBzdGF0dXMKICogSElWLkQuREUxOTQ6IERhdGUgb2YgdmlyYWwgbG9hZCBzYW1wbGUgY29sbGVjdGlvbiB8IERhdGUgYW5kIHRpbWUgd2hlbiB0aGUgc2FtcGxlIHdhcyBjb2xsZWN0ZWQgdG8gdGVzdCB0aGUgY2xpZW50J3MgSElWIHZpcmFsIGxvYWQKICogSElWLkQuREUzODc6IFZpcmFsIGxvYWQgdGVzdCByZXN1bHQgfCBSZXN1bHQgZnJvbSB0aGUgdmlyYWwgbG9hZCB0ZXN0IGluIG51bWJlciBvZiBjb3BpZXMvbUwKICogSElWLkUuREU0MTogVGltaW5nIG9mIEFSVCBpbml0aWF0aW9uIHwgV2hlbiB0aGUgcHJlZ25hbnQgd29tYW4gb3IgbW90aGVyIGluaXRpYXRlZCBBUlQsIGZvciB3b21lbiBsaXZpbmcgd2l0aCBISVYuCiAqIEhJVi5FLkRFNDI6IEFscmVhZHkgb24gQVJUIGF0IGZpcnN0IGFudGVuYXRhbCBjYXJlIHZpc2l0IHwgVGhlIHByZWduYW50IHdvbWFuIHdhcyBhbHJlYWR5IG9uIGFudGlyZXRyb3ZpcmFsIHRoZXJhcHkgKEFSVCkgYXQgZmlyc3QgYW50ZW5hdGFsIGNhcmUgdmlzaXQKICogSElWLkUuREU0MzogTmV3bHkgb24gQVJUIGR1cmluZyBwcmVnbmFuY3kgfCBUaGUgcHJlZ25hbnQgd29tYW4gc3RhcnRlZCBBUlQgZHVyaW5nIGhlciBwcmVnbmFuY3kKICogSElWLkUuREU0NDogTmV3bHkgb24gQVJUIGR1cmluZyBsYWJvdXIgYW5kIGRlbGl2ZXJ5IHwgVGhlIHdvbWFuIHN0YXJ0ZWQgQVJUIGR1cmluZyBsYWJvdXIgYW5kIGRlbGl2ZXJ5CiAqIEhJVi5FLkRFNDY6IERlbGl2ZXJ5IGRhdGUgfCBEYXRlIG9uIHdoaWNoIHRoZSB3b21hbiBkZWxpdmVyZWQKICogSElWLkUuREU2NzogUGxhY2Ugb2YgZGVsaXZlcnkgfCBUaGUgdHlwZSBvZiBwbGFjZSB3aGVyZSB0aGUgd29tYW4gZGVsaXZlcmVkCiAqIEhJVi5FLkRFNjg6IEhlYWx0aCBmYWNpbGl0eSB8IFRoZSB3b21hbiBkZWxpdmVyZWQgYXQgYSBoZWFsdGggZmFjaWxpdHkKICogSElWLkUuREU2OTogSG9tZSB8IFRoZSB3b21hbiBkZWxpdmVyZWQgYXQgaG9tZQogKiBISVYuRS5ERTcwOiBPdGhlciB8IFRoZSB3b21hbiBkZWxpdmVyZWQgYXQgYW5vdGhlciBsb2NhdGlvbiB0aGF0IGlzIG5vdCBhdCBob21lIG9yIGF0IGEgaGVhbHRoIGZhY2lsaXR5CiAqIEhJVi5HLkRFODogRGF0ZSBvZiB2aXJhbCBsb2FkIHNhbXBsZSBjb2xsZWN0aW9uIHwgRGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBzYW1wbGUgd2FzIGNvbGxlY3RlZCB0byB0ZXN0IHRoZSBjbGllbnQncyBISVYgdmlyYWwgbG9hZAogKiBISVYuRy5ERTEyOiBWaXJhbCBsb2FkIHRlc3QgcmVzdWx0IHwgUmVzdWx0IGZyb20gdGhlIHZpcmFsIGxvYWQgdGVzdCBpbiBudW1iZXIgb2YgY29waWVzL21MCiAqIEhJVi5TUlYuREUxMjogRGF0ZSBvZiB2aXJhbCBsb2FkIHNhbXBsZSBjb2xsZWN0aW9uIHwgRGF0ZSBhbmQgdGltZSB3aGVuIHRoZSBzYW1wbGUgd2FzIGNvbGxlY3RlZCB0byB0ZXN0IHRoZSBjbGllbnQncyBISVYgdmlyYWwgbG9hZAogKiBISVYuU1JWLkRFMTM6IFZpcmFsIGxvYWQgdGVzdCByZXN1bHQgfCBSZXN1bHQgZnJvbSB0aGUgdmlyYWwgbG9hZCB0ZXN0IGluIG51bWJlciBvZiBjb3BpZXMvbUwKICoKICogQWRkaXRpb25hbCBDb250ZXh0CiAqIC0gd2hhdCBpdCBtZWFzdXJlczogVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgdmlyYWwgc3VwcHJlc3Npb24gYXQgdGhlIHRpbWUgb2YgZGVsaXZlcnkgYW1vbmcgSElWLXBvc2l0aXZlIHByZWduYW50IHdvbWVuLgogKiAtIHJhdGlvbmFsZTog4oCiIFZpcmFsIHN1cHByZXNzaW9uIGF0IHRoZSB0aW1lIG9mIGRlbGl2ZXJ5IGlzIGEgc2VydmljZSBxdWFsaXR5IG1lYXN1cmUgYXQgYSBjcml0aWNhbCBwb2ludCBpbiB0aGUgdmVydGljYWwgdHJhbnNtaXNzaW9uIHJpc2sgcGVyaW9kLiB8IOKAosKgVHdvIGRpZmZlcmVudCBkZW5vbWluYXRvcnMgZ2l2ZSBpbmRpY2F0b3JzIHNpbWlsYXIgdG8gZ2VuZXJhbCBtZWFzdXJlcyBvZiB2aXJhbCBzdXBwcmVzc2lvbiBhbW9uZyBwZW9wbGUgbGl2aW5nIHdpdGggSElWOiBUaGUgcHJvZ3JhbW1lLWJhc2VkL3NlcnZpY2UgZGVsaXZlcnkgZGVub21pbmF0b3IsIHRoYXQgaXMsIHRob3NlIG9uIEFSVCwgZGVsaXZlcmluZyBpbiBhIGZhY2lsaXR5IGFuZCBoYXZpbmcgYSB2aXJhbCBsb2FkIHRlc3QsIG1lYXN1cmVzIHRoZSB0aGlyZCAiOTUiIHRhcmdldC4gVGhlIHBvcHVsYXRpb24tYmFzZWQgZGVub21pbmF0b3IsIHRoYXQgaXMsIHZpcmFsIGxvYWQgYW1vbmcgYWxsIGVzdGltYXRlZCBwcmVnbmFudCB3b21lbiBsaXZpbmcgd2l0aCBISVYsIHJlZ2FyZGxlc3Mgb2YgQVJUIHN0YXR1cyBvciBBTkMvZmFjaWxpdHkgYXR0ZW5kYW5jZSwgbWVhc3VyZXMgcG9wdWxhdGlvbiB2aXJhbCBsb2FkIHN1cHByZXNzaW9uIChvZiBwcmVnbmFudCB3b21lbiBsaXZpbmcgd2l0aCBISVYpLgogKiAtIG1ldGhvZDogRm9yIHRoZSBudW1lcmF0b3I6ICB8IFBhdGllbnQgbW9uaXRvcmluZyB0b29scy9FTVJzIChmb3IgZXhhbXBsZSwgUE1UQ1QgcmVnaXN0ZXJzLCBwYXRpZW50IHJlY29yZHMpIHwgIHwgRm9yIHRoZSBkZW5vbWluYXRvcjogfCDigKLCoFBvcHVsYXRpb24tYmFzZWQgZGVub21pbmF0b3I6IG1vZGVsbGluZy1iYXNlZCBlc3RpbWF0ZXMgKGZvciBleGFtcGxlLCBTcGVjdHJ1bSBBSU0pIHwg4oCiwqBQcm9ncmFtbWUtYmFzZWQvc2VydmljZSBkZWxpdmVyeSBkZW5vbWluYXRvcjogcHJvZ3JhbW1lIHJlY29yZHMsIGxhYm91ciBhbmQgZGVsaXZlcnkgcmVnaXN0ZXJzL0VNUnMgfCBOb3RlOiBUaGlzIGluZGljYXRvciBzaG91bGQgYmUgaW50ZXJwcmV0ZWQgd2l0aCBjb25zaWRlcmF0aW9uIG9mIHRoZSBWTCB0ZXN0aW5nIGNvdmVyYWdlIG9mIHByZWduYW50IHdvbWVuIGxpdmluZyB3aXRoIEhJViBhdCBkZWxpdmVyeS4gfCAgfCBUaGUgcmVjb21tZW5kZWQgcmVwb3J0aW5nIHBlcmlvZCBpcyAxMiBtb250aHMuCiAqIAogKiBTdWdnZXN0ZWQgU2NvcmluZyBNZXRob2Q6IHByb3BvcnRpb24gfCBodHRwOi8vaGw3Lm9yZy9maGlyL3VzL2NxZm1lYXN1cmVzL1N0cnVjdHVyZURlZmluaXRpb24vcHJvcG9ydGlvbi1tZWFzdXJlLWNxZm0KICovCgpsaWJyYXJ5IEhJVklORDM3TG9naWMKCi8vIEluY2x1ZGVkIExpYnJhcmllcwp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBISVZDb21tb24gdmVyc2lvbiAnMC4wLjEnIGNhbGxlZCBISUMKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgV0hPQ29tbW9uIGNhbGxlZCBXQ29tCgppbmNsdWRlIEhJVkluZGljYXRvckVsZW1lbnRzIGNhbGxlZCBISUUKaW5jbHVkZSBISVZFbGVtZW50cyBjYWxsZWQgSEUKCi8vIEluZGljYXRvciBEZWZpbml0aW9uCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlPiBkZWZhdWx0IEludGVydmFsW0AyMDIzLTAxLTAxLCBAMjAyMy0wMS0zMF0KCmNvbnRleHQgUGF0aWVudAovKiBQb3B1bGF0aW9ucyAqLwoKLyoKICpJbml0aWFsIFBvcHVsYXRpb24KICovCgpkZWZpbmUgIkluaXRpYWwgUG9wdWxhdGlvbiI6CiAgdHJ1ZQoKLyoqCiAqIE51bWVyYXRvcgogKiAKICogRGVmaW5pdGlvbjogTnVtYmVyIG9mIEhJVi1wb3NpdGl2ZSBwcmVnbmFudCB3b21lbiBvbiBBUlQgZHVyaW5nIHByZWduYW5jeSBhbmQgZGVsaXZlcmluZyBhdCBhIGZhY2lsaXR5IGR1cmluZyB0aGUgcmVwb3J0aW5nIHBlcmlvZCB3aG8gd2VyZSB2aXJhbGx5IHN1cHByZXNzZWQgKDwxMDAwIGNvcGllcy9tTCkgYXQgZGVsaXZlcnkKICogQ2FsY3VsYXRpb246IENPVU5UIG9mIGNsaWVudHMgd2l0aCAiSElWIHN0YXR1cyI9J0hJVi1wb3NpdGl2ZScgQU5EICJQbGFjZSBvZiBkZWxpdmVyeSIgaXMgYSAnSGVhbHRoIGZhY2lsaXR5JyBBTkQgIkRlbGl2ZXJ5IGRhdGUiIGlzIGluIHRoZSByZXBvcnRpbmcgcGVyaW9kIEFORCAiRGF0ZSBvZiB2aXJhbCBsb2FkIHNhbXBsZSBjb2xsZWN0aW9uIiBpcyBvbiAiRGVsaXZlcnkgZGF0ZSIgQU5EICJWaXJhbCBsb2FkIHRlc3QgcmVzdWx0IiBMRVNTIFRIQU4gMTAwMCBjb3BpZXMvbUwKICovCgpkZWZpbmUgIkZpcnN0IEhlYWx0aCBmYWNpbGl0eSI6CiAgKEZpcnN0KEhFLiJIZWFsdGggZmFjaWxpdHkiKSkKCmRlZmluZSAiTnVtZXJhdG9yIjoKICBISUUuIkhhcyBISVYtcG9zaXRpdmUgU3RhdHVzIgogIGFuZCBISUUuIk9uIEFSVCBELkRFMzgiCiAgYW5kIEhJRS4iSGVhbHRoIGZhY2lsaXR5IgogIGFuZCBleGlzdHMoCiAgICBISUUuIlZpcmFsIGxvYWQgdGVzdCByZXN1bHQgRC5ERTM4NyIgVkwKICAgIHdpdGggSEUuInZpcmFsIGxvYWQgc2FtcGxlIGNvbGxlY3Rpb24iIFAgCiAgICBzdWNoIHRoYXQgVkwucGFydE9mLnJlZmVyZW5jZXMoUCkgYW5kIHN0YXJ0IG9mIFAucGVyZm9ybWVkLnRvSW50ZXJ2YWwoKSA9IHN0YXJ0IG9mICJGaXJzdCBIZWFsdGggZmFjaWxpdHkiLnBlcmZvcm1lZC50b0ludGVydmFsKCkKICAgIHdoZXJlIFZMLnZhbHVlIDwgMTAwMAogICAgKQoKCi8qKgogKiBEZW5vbWluYXRvcgogKgogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgSElWLXBvc2l0aXZlIHByZWduYW50IHdvbWVuIG9uIEFSVCBkdXJpbmcgcHJlZ25hbmN5IHdobyBkZWxpdmVyIGF0IGEgZmFjaWxpdHkgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kIGFuZCBoYWQgYSB2aXJhbCBsb2FkIHRlc3QgZHVyaW5nIGRlbGl2ZXJ5LCBvciB0aGUgZXN0aW1hdGVkIHRvdGFsIG51bWJlciBvZiBwcmVnbmFudCB3b21lbiBsaXZpbmcgd2l0aCBISVYKICogQ2FsY3VsYXRpb246IENPVU5UIG9mIGNsaWVudHMgd2l0aCAiSElWIHN0YXR1cyI9J0hJVi1wb3NpdGl2ZScgQU5EICJQbGFjZSBvZiBkZWxpdmVyeSIgaXMgYSAnSGVhbHRoIGZhY2lsaXR5JyBBTkQgIkRlbGl2ZXJ5IGRhdGUiIGlzIGluIHRoZSByZXBvcnRpbmcgcGVyaW9kIEFORCAiRGF0ZSBvZiB2aXJhbCBsb2FkIHNhbXBsZSBjb2xsZWN0aW9uIiBpcyBvbiAiRGVsaXZlcnkgZGF0ZSIgfCAgfCBBbHRlcm5hdGl2ZWx5OiAqRXN0aW1hdGVkIHRvdGFsIG51bWJlciBvZiBwcmVnbmFudCB3b21lbiBsaXZpbmcgd2l0aCBISVYKICovCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICBISUUuIkhhcyBISVYtcG9zaXRpdmUgU3RhdHVzIgogIGFuZCBISUUuIk9uIEFSVCBELkRFMzgiCiAgYW5kIEhJRS4iSGVhbHRoIGZhY2lsaXR5IgogIGFuZCBleGlzdHMoCiAgICBISUUuIlZpcmFsIGxvYWQgdGVzdCByZXN1bHQgRC5ERTM4NyIgVkwKICAgIHdpdGggSEUuInZpcmFsIGxvYWQgc2FtcGxlIGNvbGxlY3Rpb24iIFAgCiAgICBzdWNoIHRoYXQgVkwucGFydE9mLnJlZmVyZW5jZXMoUCkgYW5kIHN0YXJ0IG9mIFAucGVyZm9ybWVkLnRvSW50ZXJ2YWwoKSA9IHN0YXJ0IG9mICJGaXJzdCBIZWFsdGggZmFjaWxpdHkiLnBlcmZvcm1lZC50b0ludGVydmFsKCkKICAgICkKCi8qIGVuZCBQb3B1bGF0aW9ucyAqLwoKLyoKICogRGlzYWdncmVnYXRvcnMKICovCgoKZGVmaW5lICJBZ2UgU3RyYXRpZmllciI6CglISUUuIkJ5IEFnZSBTdHJhdGlmaWVyIDMiCgpkZWZpbmUgIkdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiOgoJSElFLiJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIgoKZGVmaW5lICJTdHJhdGlmaWNhdGlvbiI6CiBISUUuIkJ5IEFnZSBTdHJhdGlmaWVyIDMiCisgJzonICsgSElFLiJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIgoKIC8vIG5lZWQgdG8gYWRkICBUaW1pbmcgb2YgQVJUIGluaXRpYXRpb24gKGR1cmluZyBwcmVnbmFuY3ksIG9uIEFSVCBhdCBmaXJzdCBBTkMgdmlzaXQp"
},
{
"contentType" : "application/elm+xml",
"data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iTm9uZSIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1JbmZvIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IlRoZSBmdW5jdGlvbiBGSElSSGVscGVycy5Ub0ludGVydmFsIGhhcyBtdWx0aXBsZSBvdmVybG9hZHMgYW5kIGR1ZSB0byB0aGUgU2lnbmF0dXJlTGV2ZWwgc2V0dGluZyAoTm9uZSksIHRoZSBvdmVybG9hZCBzaWduYXR1cmUgaXMgbm90IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuIFRoaXMgbWF5IHJlc3VsdCBpbiBhbWJpZ3VvdXMgZnVuY3Rpb24gcmVzb2x1dGlvbiBhdCBydW50aW1lLCBjb25zaWRlciBzZXR0aW5nIHRoZSBTaWduYXR1cmVMZXZlbCB0byBPdmVybG9hZHMgb3IgQWxsIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgaW5jbHVkZXMgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGNvcnJlY3Qgb3ZlcmxvYWQgc2VsZWN0aW9uIGF0IHJ1bnRpbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IlRoZSBmdW5jdGlvbiBGSElSSGVscGVycy5Ub0ludGVydmFsIGhhcyBtdWx0aXBsZSBvdmVybG9hZHMgYW5kIGR1ZSB0byB0aGUgU2lnbmF0dXJlTGV2ZWwgc2V0dGluZyAoTm9uZSksIHRoZSBvdmVybG9hZCBzaWduYXR1cmUgaXMgbm90IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuIFRoaXMgbWF5IHJlc3VsdCBpbiBhbWJpZ3VvdXMgZnVuY3Rpb24gcmVzb2x1dGlvbiBhdCBydW50aW1lLCBjb25zaWRlciBzZXR0aW5nIHRoZSBTaWduYXR1cmVMZXZlbCB0byBPdmVybG9hZHMgb3IgQWxsIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgaW5jbHVkZXMgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGNvcnJlY3Qgb3ZlcmxvYWQgc2VsZWN0aW9uIGF0IHJ1bnRpbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IlRoZSBmdW5jdGlvbiBXSE9Db21tb24ucmVmZXJlbmNlcyBoYXMgbXVsdGlwbGUgb3ZlcmxvYWRzIGFuZCBkdWUgdG8gdGhlIFNpZ25hdHVyZUxldmVsIHNldHRpbmcgKE5vbmUpLCB0aGUgb3ZlcmxvYWQgc2lnbmF0dXJlIGlzIG5vdCBiZWluZyBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LiBUaGlzIG1heSByZXN1bHQgaW4gYW1iaWd1b3VzIGZ1bmN0aW9uIHJlc29sdXRpb24gYXQgcnVudGltZSwgY29uc2lkZXIgc2V0dGluZyB0aGUgU2lnbmF0dXJlTGV2ZWwgdG8gT3ZlcmxvYWRzIG9yIEFsbCB0byBlbnN1cmUgdGhhdCB0aGUgb3V0cHV0IGluY2x1ZGVzIHN1ZmZpY2llbnQgaW5mb3JtYXRpb24gdG8gc3VwcG9ydCBjb3JyZWN0IG92ZXJsb2FkIHNlbGVjdGlvbiBhdCBydW50aW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJUaGUgZnVuY3Rpb24gV0hPQ29tbW9uLnJlZmVyZW5jZXMgaGFzIG11bHRpcGxlIG92ZXJsb2FkcyBhbmQgZHVlIHRvIHRoZSBTaWduYXR1cmVMZXZlbCBzZXR0aW5nIChOb25lKSwgdGhlIG92ZXJsb2FkIHNpZ25hdHVyZSBpcyBub3QgYmVpbmcgaW5jbHVkZWQgaW4gdGhlIG91dHB1dC4gVGhpcyBtYXkgcmVzdWx0IGluIGFtYmlndW91cyBmdW5jdGlvbiByZXNvbHV0aW9uIGF0IHJ1bnRpbWUsIGNvbnNpZGVyIHNldHRpbmcgdGhlIFNpZ25hdHVyZUxldmVsIHRvIE92ZXJsb2FkcyBvciBBbGwgdG8gZW5zdXJlIHRoYXQgdGhlIG91dHB1dCBpbmNsdWRlcyBzdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIHN1cHBvcnQgY29ycmVjdCBvdmVybG9hZCBzZWxlY3Rpb24gYXQgcnVudGltZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iVGhlIGZ1bmN0aW9uIEZISVJIZWxwZXJzLlRvU3RyaW5nIGhhcyBtdWx0aXBsZSBvdmVybG9hZHMgYW5kIGR1ZSB0byB0aGUgU2lnbmF0dXJlTGV2ZWwgc2V0dGluZyAoTm9uZSksIHRoZSBvdmVybG9hZCBzaWduYXR1cmUgaXMgbm90IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBvdXRwdXQuIFRoaXMgbWF5IHJlc3VsdCBpbiBhbWJpZ3VvdXMgZnVuY3Rpb24gcmVzb2x1dGlvbiBhdCBydW50aW1lLCBjb25zaWRlciBzZXR0aW5nIHRoZSBTaWduYXR1cmVMZXZlbCB0byBPdmVybG9hZHMgb3IgQWxsIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXRwdXQgaW5jbHVkZXMgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBzdXBwb3J0IGNvcnJlY3Qgb3ZlcmxvYWQgc2VsZWN0aW9uIGF0IHJ1bnRpbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgPGE6cz4vKioKICogTGlicmFyeTogSElWLklORC4zNyBMb2dpYwogKiBSZWYgTm86IFZFUi4xCiAqIFNob3J0IE5hbWU6IFZpcmFsIHN1cHByZXNzaW9uIGF0IGxhYm91ciBhbmQgZGVsaXZlcnkKICoKICogRGVmaW5pdGlvbjogJSBvZiBISVYtcG9zaXRpdmUgcHJlZ25hbnQgd29tZW4gd2hvIGFyZSB2aXJhbGx5IHN1cHByZXNzZWQgYXQgbGFib3VyIGFuZCBkZWxpdmVyeQogKgogKiBOdW1lcmF0b3I6IE51bWJlciBvZiBISVYtcG9zaXRpdmUgcHJlZ25hbnQgd29tZW4gb24gQVJUIGR1cmluZyBwcmVnbmFuY3kgYW5kIGRlbGl2ZXJpbmcgYXQgYSBmYWNpbGl0eSBkdXJpbmcgdGhlIHJlcG9ydGluZyBwZXJpb2Qgd2hvIHdlcmUgdmlyYWxseSBzdXBwcmVzc2VkICgmbHQ7MTAwMCBjb3BpZXMvbUwpIGF0IGRlbGl2ZXJ5CiAqIE51bWVyYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2YgY2xpZW50cyB3aXRoICZxdW90O0hJViBzdGF0dXMmcXVvdDs9J0hJVi1wb3NpdGl2ZScgQU5EICZxdW90O1BsYWNlIG9mIGRlbGl2ZXJ5JnF1b3Q7IGlzIGEgJ0hlYWx0aCBmYWNpbGl0eScgQU5EICZxdW90O0RlbGl2ZXJ5IGRhdGUmcXVvdDsgaXMgaW4gdGhlIHJlcG9ydGluZyBwZXJpb2QgQU5EICZxdW90O0RhdGUgb2YgdmlyYWwgbG9hZCBzYW1wbGUgY29sbGVjdGlvbiZxdW90OyBpcyBvbiAmcXVvdDtEZWxpdmVyeSBkYXRlJnF1b3Q7IEFORCAmcXVvdDtWaXJhbCBsb2FkIHRlc3QgcmVzdWx0JnF1b3Q7IExFU1MgVEhBTiAxMDAwIGNvcGllcy9tTAogKiBOdW1lcmF0b3IgRXhjbHVzaW9uczogCiAqCiAqIERlbm9taW5hdG9yOiBOdW1iZXIgb2YgSElWLXBvc2l0aXZlIHByZWduYW50IHdvbWVuIG9uIEFSVCBkdXJpbmcgcHJlZ25hbmN5IHdobyBkZWxpdmVyIGF0IGEgZmFjaWxpdHkgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kIGFuZCBoYWQgYSB2aXJhbCBsb2FkIHRlc3QgZHVyaW5nIGRlbGl2ZXJ5LCBvciB0aGUgZXN0aW1hdGVkIHRvdGFsIG51bWJlciBvZiBwcmVnbmFudCB3b21lbiBsaXZpbmcgd2l0aCBISVYKICogRGVub21pbmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIGNsaWVudHMgd2l0aCAmcXVvdDtISVYgc3RhdHVzJnF1b3Q7PSdISVYtcG9zaXRpdmUnIEFORCAmcXVvdDtQbGFjZSBvZiBkZWxpdmVyeSZxdW90OyBpcyBhICdIZWFsdGggZmFjaWxpdHknIEFORCAmcXVvdDtEZWxpdmVyeSBkYXRlJnF1b3Q7IGlzIGluIHRoZSByZXBvcnRpbmcgcGVyaW9kIEFORCAmcXVvdDtEYXRlIG9mIHZpcmFsIGxvYWQgc2FtcGxlIGNvbGxlY3Rpb24mcXVvdDsgaXMgb24gJnF1b3Q7RGVsaXZlcnkgZGF0ZSZxdW90OyB8ICB8IEFsdGVybmF0aXZlbHk6ICpFc3RpbWF0ZWQgdG90YWwgbnVtYmVyIG9mIHByZWduYW50IHdvbWVuIGxpdmluZyB3aXRoIEhJVgogKiBEZW5vbWluYXRvciBFeGNsdXNpb25zOiAKICoKICogRGlzYWdncmVnYXRpb25zOgogKiDigKIgQWdlICgmbHQ7MTUsIDE14oCTMTksIDIw4oCTMjUsIDI1KyB5ZWFycykgCiAqICDigKLCoFRpbWluZyBvZiBBUlQgaW5pdGlhdGlvbiAoZHVyaW5nIHByZWduYW5jeSwgb24gQVJUIGF0IGZpcnN0IEFOQyB2aXNpdCkgCiAqICDigKIgQ2l0aWVzIGFuZCBvdGhlciBhZG1pbmlzdHJhdGl2ZSByZWdpb25zIG9mIGVwaWRlbWlvbG9naWMgaW1wb3J0YW5jZQogKgogKiBEaXNhZ2dyZWdhdGlvbiBFbGVtZW50czogQWdlIHwgVGltaW5nIG9mIEFSVCBpbml0aWF0aW9uCiAqCiAqIE51bWVyYXRvciBhbmQgRGVub21pbmF0b3IgRWxlbWVudHM6CiAqIERhdGUgb2YgdmlyYWwgbG9hZCBzYW1wbGUgY29sbGVjdGlvbiAKICogIERlbGl2ZXJ5IGRhdGUgCiAqICBISVYgc3RhdHVzIAogKiAgUGxhY2Ugb2YgZGVsaXZlcnkgCiAqICBWaXJhbCBsb2FkIHRlc3QgcmVzdWx0CiAqCiAqIFJlZmVyZW5jZTogQ29uc29saWRhdGVkIGd1aWRlbGluZXMgb24gcGVyc29uLWNlbnRyZWQgSElWIHN0cmF0ZWdpYyBpbmZvcm1hdGlvbjogc3RyZW5ndGhlbmluZyByb3V0aW5lIGRhdGEgZm9yIGltcGFjdC4gR2VuZXZhOiBXb3JsZCBIZWFsdGggT3JnYW5pemF0aW9uOyAyMDIyCiAqIAogKiBEYXRhIENvbmNlcHRzOgogKiBISVYuQS5ERTE3OiBBZ2UgfCBDYWxjdWxhdGVkIGFnZSAobnVtYmVyIG9mIHllYXJzKSBvZiB0aGUgY2xpZW50IGJhc2VkIG9uIGRhdGUgb2YgYmlydGgKICogSElWLkIuREUxMTU6IEhJViBzdGF0dXMgfCBISVYgc3RhdHVzIHJlcG9ydGVkIGFmdGVyIGFwcGx5aW5nIHRoZSBuYXRpb25hbCBISVYgdGVzdGluZyBhbGdvcml0aG0uIE5vIHNpbmdsZSBISVYgdGVzdCBjYW4gcHJvdmlkZSBhbiBISVYtcG9zaXRpdmUgZGlhZ25vc2lzLgogKiBISVYuQi5ERTExNjogSElWLXBvc2l0aXZlIHwgQ2xpZW50IGlzIEhJVi1wb3NpdGl2ZQogKiBISVYuQi5ERTExNzogSElWLW5lZ2F0aXZlIHwgQ2xpZW50IGlzIEhJVi1uZWdhdGl2ZQogKiBISVYuQi5ERTExODogVW5rbm93biB8IENsaWVudCBoYXMgdW5rbm93biBISVYgc3RhdHVzCiAqIEhJVi5ELkRFMTk0OiBEYXRlIG9mIHZpcmFsIGxvYWQgc2FtcGxlIGNvbGxlY3Rpb24gfCBEYXRlIGFuZCB0aW1lIHdoZW4gdGhlIHNhbXBsZSB3YXMgY29sbGVjdGVkIHRvIHRlc3QgdGhlIGNsaWVudCdzIEhJViB2aXJhbCBsb2FkCiAqIEhJVi5ELkRFMzg3OiBWaXJhbCBsb2FkIHRlc3QgcmVzdWx0IHwgUmVzdWx0IGZyb20gdGhlIHZpcmFsIGxvYWQgdGVzdCBpbiBudW1iZXIgb2YgY29waWVzL21MCiAqIEhJVi5FLkRFNDE6IFRpbWluZyBvZiBBUlQgaW5pdGlhdGlvbiB8IFdoZW4gdGhlIHByZWduYW50IHdvbWFuIG9yIG1vdGhlciBpbml0aWF0ZWQgQVJULCBmb3Igd29tZW4gbGl2aW5nIHdpdGggSElWLgogKiBISVYuRS5ERTQyOiBBbHJlYWR5IG9uIEFSVCBhdCBmaXJzdCBhbnRlbmF0YWwgY2FyZSB2aXNpdCB8IFRoZSBwcmVnbmFudCB3b21hbiB3YXMgYWxyZWFkeSBvbiBhbnRpcmV0cm92aXJhbCB0aGVyYXB5IChBUlQpIGF0IGZpcnN0IGFudGVuYXRhbCBjYXJlIHZpc2l0CiAqIEhJVi5FLkRFNDM6IE5ld2x5IG9uIEFSVCBkdXJpbmcgcHJlZ25hbmN5IHwgVGhlIHByZWduYW50IHdvbWFuIHN0YXJ0ZWQgQVJUIGR1cmluZyBoZXIgcHJlZ25hbmN5CiAqIEhJVi5FLkRFNDQ6IE5ld2x5IG9uIEFSVCBkdXJpbmcgbGFib3VyIGFuZCBkZWxpdmVyeSB8IFRoZSB3b21hbiBzdGFydGVkIEFSVCBkdXJpbmcgbGFib3VyIGFuZCBkZWxpdmVyeQogKiBISVYuRS5ERTQ2OiBEZWxpdmVyeSBkYXRlIHwgRGF0ZSBvbiB3aGljaCB0aGUgd29tYW4gZGVsaXZlcmVkCiAqIEhJVi5FLkRFNjc6IFBsYWNlIG9mIGRlbGl2ZXJ5IHwgVGhlIHR5cGUgb2YgcGxhY2Ugd2hlcmUgdGhlIHdvbWFuIGRlbGl2ZXJlZAogKiBISVYuRS5ERTY4OiBIZWFsdGggZmFjaWxpdHkgfCBUaGUgd29tYW4gZGVsaXZlcmVkIGF0IGEgaGVhbHRoIGZhY2lsaXR5CiAqIEhJVi5FLkRFNjk6IEhvbWUgfCBUaGUgd29tYW4gZGVsaXZlcmVkIGF0IGhvbWUKICogSElWLkUuREU3MDogT3RoZXIgfCBUaGUgd29tYW4gZGVsaXZlcmVkIGF0IGFub3RoZXIgbG9jYXRpb24gdGhhdCBpcyBub3QgYXQgaG9tZSBvciBhdCBhIGhlYWx0aCBmYWNpbGl0eQogKiBISVYuRy5ERTg6IERhdGUgb2YgdmlyYWwgbG9hZCBzYW1wbGUgY29sbGVjdGlvbiB8IERhdGUgYW5kIHRpbWUgd2hlbiB0aGUgc2FtcGxlIHdhcyBjb2xsZWN0ZWQgdG8gdGVzdCB0aGUgY2xpZW50J3MgSElWIHZpcmFsIGxvYWQKICogSElWLkcuREUxMjogVmlyYWwgbG9hZCB0ZXN0IHJlc3VsdCB8IFJlc3VsdCBmcm9tIHRoZSB2aXJhbCBsb2FkIHRlc3QgaW4gbnVtYmVyIG9mIGNvcGllcy9tTAogKiBISVYuU1JWLkRFMTI6IERhdGUgb2YgdmlyYWwgbG9hZCBzYW1wbGUgY29sbGVjdGlvbiB8IERhdGUgYW5kIHRpbWUgd2hlbiB0aGUgc2FtcGxlIHdhcyBjb2xsZWN0ZWQgdG8gdGVzdCB0aGUgY2xpZW50J3MgSElWIHZpcmFsIGxvYWQKICogSElWLlNSVi5ERTEzOiBWaXJhbCBsb2FkIHRlc3QgcmVzdWx0IHwgUmVzdWx0IGZyb20gdGhlIHZpcmFsIGxvYWQgdGVzdCBpbiBudW1iZXIgb2YgY29waWVzL21MCiAqCiAqIEFkZGl0aW9uYWwgQ29udGV4dAogKiAtIHdoYXQgaXQgbWVhc3VyZXM6IFRoaXMgaW5kaWNhdG9yIG1lYXN1cmVzIHZpcmFsIHN1cHByZXNzaW9uIGF0IHRoZSB0aW1lIG9mIGRlbGl2ZXJ5IGFtb25nIEhJVi1wb3NpdGl2ZSBwcmVnbmFudCB3b21lbi4KICogLSByYXRpb25hbGU6IOKAoiBWaXJhbCBzdXBwcmVzc2lvbiBhdCB0aGUgdGltZSBvZiBkZWxpdmVyeSBpcyBhIHNlcnZpY2UgcXVhbGl0eSBtZWFzdXJlIGF0IGEgY3JpdGljYWwgcG9pbnQgaW4gdGhlIHZlcnRpY2FsIHRyYW5zbWlzc2lvbiByaXNrIHBlcmlvZC4gfCDigKLCoFR3byBkaWZmZXJlbnQgZGVub21pbmF0b3JzIGdpdmUgaW5kaWNhdG9ycyBzaW1pbGFyIHRvIGdlbmVyYWwgbWVhc3VyZXMgb2YgdmlyYWwgc3VwcHJlc3Npb24gYW1vbmcgcGVvcGxlIGxpdmluZyB3aXRoIEhJVjogVGhlIHByb2dyYW1tZS1iYXNlZC9zZXJ2aWNlIGRlbGl2ZXJ5IGRlbm9taW5hdG9yLCB0aGF0IGlzLCB0aG9zZSBvbiBBUlQsIGRlbGl2ZXJpbmcgaW4gYSBmYWNpbGl0eSBhbmQgaGF2aW5nIGEgdmlyYWwgbG9hZCB0ZXN0LCBtZWFzdXJlcyB0aGUgdGhpcmQgJnF1b3Q7OTUmcXVvdDsgdGFyZ2V0LiBUaGUgcG9wdWxhdGlvbi1iYXNlZCBkZW5vbWluYXRvciwgdGhhdCBpcywgdmlyYWwgbG9hZCBhbW9uZyBhbGwgZXN0aW1hdGVkIHByZWduYW50IHdvbWVuIGxpdmluZyB3aXRoIEhJViwgcmVnYXJkbGVzcyBvZiBBUlQgc3RhdHVzIG9yIEFOQy9mYWNpbGl0eSBhdHRlbmRhbmNlLCBtZWFzdXJlcyBwb3B1bGF0aW9uIHZpcmFsIGxvYWQgc3VwcHJlc3Npb24gKG9mIHByZWduYW50IHdvbWVuIGxpdmluZyB3aXRoIEhJVikuCiAqIC0gbWV0aG9kOiBGb3IgdGhlIG51bWVyYXRvcjogIHwgUGF0aWVudCBtb25pdG9yaW5nIHRvb2xzL0VNUnMgKGZvciBleGFtcGxlLCBQTVRDVCByZWdpc3RlcnMsIHBhdGllbnQgcmVjb3JkcykgfCAgfCBGb3IgdGhlIGRlbm9taW5hdG9yOiB8IOKAosKgUG9wdWxhdGlvbi1iYXNlZCBkZW5vbWluYXRvcjogbW9kZWxsaW5nLWJhc2VkIGVzdGltYXRlcyAoZm9yIGV4YW1wbGUsIFNwZWN0cnVtIEFJTSkgfCDigKLCoFByb2dyYW1tZS1iYXNlZC9zZXJ2aWNlIGRlbGl2ZXJ5IGRlbm9taW5hdG9yOiBwcm9ncmFtbWUgcmVjb3JkcywgbGFib3VyIGFuZCBkZWxpdmVyeSByZWdpc3RlcnMvRU1ScyB8IE5vdGU6IFRoaXMgaW5kaWNhdG9yIHNob3VsZCBiZSBpbnRlcnByZXRlZCB3aXRoIGNvbnNpZGVyYXRpb24gb2YgdGhlIFZMIHRlc3RpbmcgY292ZXJhZ2Ugb2YgcHJlZ25hbnQgd29tZW4gbGl2aW5nIHdpdGggSElWIGF0IGRlbGl2ZXJ5LiB8ICB8IFRoZSByZWNvbW1lbmRlZCByZXBvcnRpbmcgcGVyaW9kIGlzIDEyIG1vbnRocy4KICogCiAqIFN1Z2dlc3RlZCBTY29yaW5nIE1ldGhvZDogcHJvcG9ydGlvbiB8IGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY3FmbWVhc3VyZXMvU3RydWN0dXJlRGVmaW5pdGlvbi9wcm9wb3J0aW9uLW1lYXN1cmUtY3FmbQogKi8KCmxpYnJhcnkgSElWSU5EMzdMb2dpYzwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iSElWSU5EMzdMb2dpYyIgc3lzdGVtPSJodHRwOi8vc21hcnQud2hvLmludC9oaXYiLz4KICAgPHNjaGVtYUlkZW50aWZpZXIgaWQ9InVybjpobDctb3JnOmVsbSIgdmVyc2lvbj0icjEiLz4KICAgPHVzaW5ncz4KICAgICAgPGRlZiBsb2NhbElkZW50aWZpZXI9IlN5c3RlbSIgdXJpPSJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiLz4KICAgICAgPGRlZiBsb2NhbElkPSIxIiBsb2NhdG9yPSI2NToxLTY1OjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxIj4KICAgICAgICAgICAgICAgPGE6cz4vLyBJbmNsdWRlZCBMaWJyYXJpZXMKdXNpbmcgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIiIGxvY2F0b3I9IjY3OjEtNjc6NDQiIGxvY2FsSWRlbnRpZmllcj0iSElDIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9oaXYvSElWQ29tbW9uIiB2ZXJzaW9uPSIwLjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SElWQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICcwLjAuMScgY2FsbGVkIEhJQzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzIiBsb2NhdG9yPSI2ODoxLTY4OjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vaGw3Lm9yZy9maGlyL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjMiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI0IiBsb2NhdG9yPSI3MDoxLTcwOjI5IiBsb2NhbElkZW50aWZpZXI9IldDb20iIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2hpdi9XSE9Db21tb24iPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI0Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPldIT0NvbW1vbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIFdDb208L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNSIgbG9jYXRvcj0iNzI6MS03MjozOSIgbG9jYWxJZGVudGlmaWVyPSJISUUiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2hpdi9ISVZJbmRpY2F0b3JFbGVtZW50cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjUiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+SElWSW5kaWNhdG9yRWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBISUU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iNiIgbG9jYXRvcj0iNzM6MS03MzoyOSIgbG9jYWxJZGVudGlmaWVyPSJIRSIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2L0hJVkVsZW1lbnRzIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iNiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5ISVZFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIEhFPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSIxMiIgbG9jYXRvcj0iNzY6MS03Njo4OCIgbmFtZT0iTWVhc3VyZW1lbnQgUGVyaW9kIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTIiPgogICAgICAgICAgICAgICA8YTpzPi8vIEluZGljYXRvciBEZWZpbml0aW9uCnBhcmFtZXRlciAmcXVvdDtNZWFzdXJlbWVudCBQZXJpb2QmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTEiPgogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPj48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRlZmF1bHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iOSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNyI+SW50ZXJ2YWxbQDIwMjMtMDEtMDEsIEAyMDIzLTAxLTMwXTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iOSIgbG9jYXRvcj0iNzY6NTUtNzY6ODgiIGxvd0Nsb3NlZD0idHJ1ZSIgaGlnaENsb3NlZD0idHJ1ZSIgeHNpOnR5cGU9IkludGVydmFsIj4KICAgICAgICAgICAgPGxvdyBsb2NhbElkPSI3IiBsb2NhdG9yPSI3Njo2NC03Njo3NCIgeHNpOnR5cGU9IkRhdGUiPgogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggbG9jYWxJZD0iOCIgbG9jYXRvcj0iNzY6NzctNzY6ODciIHhzaTp0eXBlPSJEYXRlIj4KICAgICAgICAgICAgICAgPHllYXIgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIyMDIzIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8bW9udGggdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIxIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8ZGF5IHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMzAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvaGlnaD4KICAgICAgICAgPC9kZWZhdWx0PgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIxMSIgbG9jYXRvcj0iNzY6MzItNzY6NDUiIHhzaTp0eXBlPSJJbnRlcnZhbFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICA8cG9pbnRUeXBlIGxvY2FsSWQ9IjEwIiBsb2NhdG9yPSI3Njo0MS03Njo0NCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9Ijc4OjEtNzg6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzg6MS03ODoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzg6MS03ODoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE0IiBsb2NhdG9yPSI4NToxLTg2OjYiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE0Ij4KICAgICAgICAgICAgICAgPGE6cyByPSIxMyI+LyogUG9wdWxhdGlvbnMgKi8KCi8qCiAqSW5pdGlhbCBQb3B1bGF0aW9uCiAqLwoKZGVmaW5lICZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiZxdW90OzoKICB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjEzIiBsb2NhdG9yPSI4NjozLTg2OjYiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTgiIGxvY2F0b3I9Ijk1OjEtOTY6MzEiIG5hbWU9IkZpcnN0IEhlYWx0aCBmYWNpbGl0eSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjE4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKioKICogTnVtZXJhdG9yCiAqIAogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgSElWLXBvc2l0aXZlIHByZWduYW50IHdvbWVuIG9uIEFSVCBkdXJpbmcgcHJlZ25hbmN5IGFuZCBkZWxpdmVyaW5nIGF0IGEgZmFjaWxpdHkgZHVyaW5nIHRoZSByZXBvcnRpbmcgcGVyaW9kIHdobyB3ZXJlIHZpcmFsbHkgc3VwcHJlc3NlZCAoJmx0OzEwMDAgY29waWVzL21MKSBhdCBkZWxpdmVyeQogKiBDYWxjdWxhdGlvbjogQ09VTlQgb2YgY2xpZW50cyB3aXRoICZxdW90O0hJViBzdGF0dXMmcXVvdDs9J0hJVi1wb3NpdGl2ZScgQU5EICZxdW90O1BsYWNlIG9mIGRlbGl2ZXJ5JnF1b3Q7IGlzIGEgJ0hlYWx0aCBmYWNpbGl0eScgQU5EICZxdW90O0RlbGl2ZXJ5IGRhdGUmcXVvdDsgaXMgaW4gdGhlIHJlcG9ydGluZyBwZXJpb2QgQU5EICZxdW90O0RhdGUgb2YgdmlyYWwgbG9hZCBzYW1wbGUgY29sbGVjdGlvbiZxdW90OyBpcyBvbiAmcXVvdDtEZWxpdmVyeSBkYXRlJnF1b3Q7IEFORCAmcXVvdDtWaXJhbCBsb2FkIHRlc3QgcmVzdWx0JnF1b3Q7IExFU1MgVEhBTiAxMDAwIGNvcGllcy9tTAogKi8KCmRlZmluZSAmcXVvdDtGaXJzdCBIZWFsdGggZmFjaWxpdHkmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTciPgogICAgICAgICAgICAgICAgICA8YTpzPig8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIxNyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Rmlyc3QoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjE1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5IRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hlYWx0aCBmYWNpbGl0eSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4pPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxNyIgbG9jYXRvcj0iOTY6My05NjozMSIgeHNpOnR5cGU9IkZpcnN0Ij4KICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIxNiIgbG9jYXRvcj0iOTY6MTAtOTY6MjkiIG5hbWU9IkhlYWx0aCBmYWNpbGl0eSIgbGlicmFyeU5hbWU9IkhFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjUzIiBsb2NhdG9yPSI5ODoxLTEwNzo1IiBuYW1lPSJOdW1lcmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI1MyI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O051bWVyYXRvciZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0hhcyBISVYtcG9zaXRpdmUgU3RhdHVzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ISUU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtPbiBBUlQgRC5ERTM4JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SElFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SGVhbHRoIGZhY2lsaXR5JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjUxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5leGlzdHM8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KAogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SElFLiZxdW90O1ZpcmFsIGxvYWQgdGVzdCByZXN1bHQgRC5ERTM4NyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFZMPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz53aXRoIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SEUuJnF1b3Q7dmlyYWwgbG9hZCBzYW1wbGUgY29sbGVjdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IFA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IAogICAgc3VjaCB0aGF0IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5WTDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBhcnRPZjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5yZWZlcmVuY2VzKDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPik8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGVyZm9ybWVkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnRvSW50ZXJ2YWwoKTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5zdGFydCBvZiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtGaXJzdCBIZWFsdGggZmFjaWxpdHkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dG9JbnRlcnZhbCgpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlcmUgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Vkw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz52YWx1ZTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNDgiPiAmbHQ7IDEwMDA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNTIiIGxvY2F0b3I9Ijk5OjMtMTA3OjUiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNiIgbG9jYXRvcj0iOTk6My0xMDE6MjciIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMyIgbG9jYXRvcj0iOTk6My0xMDA6MjUiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyMCIgbG9jYXRvcj0iOTk6My05OTozMSIgbmFtZT0iSGFzIEhJVi1wb3NpdGl2ZSBTdGF0dXMiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIyIiBsb2NhdG9yPSIxMDA6Ny0xMDA6MjUiIG5hbWU9Ik9uIEFSVCBELkRFMzgiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjUiIGxvY2F0b3I9IjEwMTo3LTEwMToyNyIgbmFtZT0iSGVhbHRoIGZhY2lsaXR5IiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUxIiBsb2NhdG9yPSIxMDI6Ny0xMDc6NSIgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjUwIiBsb2NhdG9yPSIxMDI6MTMtMTA3OjUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjgiIGxvY2F0b3I9IjEwMzo1LTEwMzo0MyIgYWxpYXM9IlZMIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjciIGxvY2F0b3I9IjEwMzo1LTEwMzo0MCIgbmFtZT0iVmlyYWwgbG9hZCB0ZXN0IHJlc3VsdCBELkRFMzg3IiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSI0NSIgbG9jYXRvcj0iMTA0OjUtMTA1OjEzMyIgYWxpYXM9IlAiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjkiIGxvY2F0b3I9IjEwNDoxMC0xMDQ6NDIiIG5hbWU9InZpcmFsIGxvYWQgc2FtcGxlIGNvbGxlY3Rpb24iIGxpYnJhcnlOYW1lPSJIRSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9IjQ0IiBsb2NhdG9yPSIxMDU6MTUtMTA1OjEzMyIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0IiBsb2NhdG9yPSIxMDU6MTUtMTA1OjM3IiBuYW1lPSJyZWZlcmVuY2VzIiBsaWJyYXJ5TmFtZT0iV0NvbSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzIiIGxvY2F0b3I9IjEwNToxNS0xMDU6MjMiIHBhdGg9InBhcnRPZiIgc2NvcGU9IlZMIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzMiIGxvY2F0b3I9IjEwNTozNiIgbmFtZT0iUCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNDMiIGxvY2F0b3I9IjEwNTo0My0xMDU6MTMzIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzOCIgbG9jYXRvcj0iMTA1OjQzLTEwNTo3NSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzciIGxvY2F0b3I9IjEwNTo1Mi0xMDU6NzUiIG5hbWU9InRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJXQ29tIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNiIgbG9jYXRvcj0iMTA1OjUyLTEwNTo2MiIgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI0MiIgbG9jYXRvcj0iMTA1Ojc5LTEwNToxMzMiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQxIiBsb2NhdG9yPSIxMDU6ODgtMTA1OjEzMyIgbmFtZT0idG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IldDb20iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQwIiBsb2NhdG9yPSIxMDU6ODgtMTA1OjEyMCIgcGF0aD0icGVyZm9ybWVkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM5IiBsb2NhdG9yPSIxMDU6ODgtMTA1OjExMCIgbmFtZT0iRmlyc3QgSGVhbHRoIGZhY2lsaXR5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICAgICAgICA8d2hlcmUgbG9jYWxJZD0iNDkiIGxvY2F0b3I9IjEwNjo1LTEwNjoyNSIgeHNpOnR5cGU9Ikxlc3MiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb0ludGVnZXIiIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgYXNUeXBlPSJmaGlyOmludGVnZXIiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ3IiBsb2NhdG9yPSIxMDY6MTEtMTA2OjE4IiBwYXRoPSJ2YWx1ZSIgc2NvcGU9IlZMIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjQ4IiBsb2NhdG9yPSIxMDY6MjItMTA2OjI1IiB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEwMDAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9Ijg0IiBsb2NhdG9yPSIxMTc6MS0xMjU6NSIgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI4NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoqCiAqIERlbm9taW5hdG9yCiAqCiAqIERlZmluaXRpb246IE51bWJlciBvZiBISVYtcG9zaXRpdmUgcHJlZ25hbnQgd29tZW4gb24gQVJUIGR1cmluZyBwcmVnbmFuY3kgd2hvIGRlbGl2ZXIgYXQgYSBmYWNpbGl0eSBkdXJpbmcgdGhlIHJlcG9ydGluZyBwZXJpb2QgYW5kIGhhZCBhIHZpcmFsIGxvYWQgdGVzdCBkdXJpbmcgZGVsaXZlcnksIG9yIHRoZSBlc3RpbWF0ZWQgdG90YWwgbnVtYmVyIG9mIHByZWduYW50IHdvbWVuIGxpdmluZyB3aXRoIEhJVgogKiBDYWxjdWxhdGlvbjogQ09VTlQgb2YgY2xpZW50cyB3aXRoICZxdW90O0hJViBzdGF0dXMmcXVvdDs9J0hJVi1wb3NpdGl2ZScgQU5EICZxdW90O1BsYWNlIG9mIGRlbGl2ZXJ5JnF1b3Q7IGlzIGEgJ0hlYWx0aCBmYWNpbGl0eScgQU5EICZxdW90O0RlbGl2ZXJ5IGRhdGUmcXVvdDsgaXMgaW4gdGhlIHJlcG9ydGluZyBwZXJpb2QgQU5EICZxdW90O0RhdGUgb2YgdmlyYWwgbG9hZCBzYW1wbGUgY29sbGVjdGlvbiZxdW90OyBpcyBvbiAmcXVvdDtEZWxpdmVyeSBkYXRlJnF1b3Q7IHwgIHwgQWx0ZXJuYXRpdmVseTogKkVzdGltYXRlZCB0b3RhbCBudW1iZXIgb2YgcHJlZ25hbnQgd29tZW4gbGl2aW5nIHdpdGggSElWCiAqLwoKZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjgzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI2MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SElFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SGFzIEhJVi1wb3NpdGl2ZSBTdGF0dXMmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI1NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O09uIEFSVCBELkRFMzgmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjU5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ISUU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtIZWFsdGggZmFjaWxpdHkmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPmV4aXN0czwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4oCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI4MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ISUUuJnF1b3Q7VmlyYWwgbG9hZCB0ZXN0IHJlc3VsdCBELkRFMzg3JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gVkw8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPndpdGggPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5IRS4mcXVvdDt2aXJhbCBsb2FkIHNhbXBsZSBjb2xsZWN0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gUDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gCiAgICBzdWNoIHRoYXQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjY5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlZMPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI2NyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+cGFydE9mPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnJlZmVyZW5jZXMoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5wZXJmb3JtZWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+dG9JbnRlcnZhbCgpPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnN0YXJ0IG9mIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0ZpcnN0IEhlYWx0aCBmYWNpbGl0eSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iNzUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPnBlcmZvcm1lZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz50b0ludGVydmFsKCk8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICApPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjgzIiBsb2NhdG9yPSIxMTg6My0xMjU6NSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjYxIiBsb2NhdG9yPSIxMTg6My0xMjA6MjciIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI1OCIgbG9jYXRvcj0iMTE4OjMtMTE5OjI1IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNTUiIGxvY2F0b3I9IjExODozLTExODozMSIgbmFtZT0iSGFzIEhJVi1wb3NpdGl2ZSBTdGF0dXMiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjU3IiBsb2NhdG9yPSIxMTk6Ny0xMTk6MjUiIG5hbWU9Ik9uIEFSVCBELkRFMzgiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjAiIGxvY2F0b3I9IjEyMDo3LTEyMDoyNyIgbmFtZT0iSGVhbHRoIGZhY2lsaXR5IiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgyIiBsb2NhdG9yPSIxMjE6Ny0xMjU6NSIgeHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjgxIiBsb2NhdG9yPSIxMjE6MTMtMTI1OjUiIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iNjMiIGxvY2F0b3I9IjEyMjo1LTEyMjo0MyIgYWxpYXM9IlZMIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjIiIGxvY2F0b3I9IjEyMjo1LTEyMjo0MCIgbmFtZT0iVmlyYWwgbG9hZCB0ZXN0IHJlc3VsdCBELkRFMzg3IiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBsb2NhbElkPSI4MCIgbG9jYXRvcj0iMTIzOjUtMTI0OjEzMyIgYWxpYXM9IlAiIHhzaTp0eXBlPSJXaXRoIj4KICAgICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iNjQiIGxvY2F0b3I9IjEyMzoxMC0xMjM6NDIiIG5hbWU9InZpcmFsIGxvYWQgc2FtcGxlIGNvbGxlY3Rpb24iIGxpYnJhcnlOYW1lPSJIRSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPHN1Y2hUaGF0IGxvY2FsSWQ9Ijc5IiBsb2NhdG9yPSIxMjQ6MTUtMTI0OjEzMyIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjY5IiBsb2NhdG9yPSIxMjQ6MTUtMTI0OjM3IiBuYW1lPSJyZWZlcmVuY2VzIiBsaWJyYXJ5TmFtZT0iV0NvbSIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjciIGxvY2F0b3I9IjEyNDoxNS0xMjQ6MjMiIHBhdGg9InBhcnRPZiIgc2NvcGU9IlZMIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNjgiIGxvY2F0b3I9IjEyNDozNiIgbmFtZT0iUCIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzgiIGxvY2F0b3I9IjEyNDo0My0xMjQ6MTMzIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3MyIgbG9jYXRvcj0iMTI0OjQzLTEyNDo3NSIgeHNpOnR5cGU9IlN0YXJ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iNzIiIGxvY2F0b3I9IjEyNDo1Mi0xMjQ6NzUiIG5hbWU9InRvSW50ZXJ2YWwiIGxpYnJhcnlOYW1lPSJXQ29tIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3MSIgbG9jYXRvcj0iMTI0OjUyLTEyNDo2MiIgcGF0aD0icGVyZm9ybWVkIiBzY29wZT0iUCIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI3NyIgbG9jYXRvcj0iMTI0Ojc5LTEyNDoxMzMiIHhzaTp0eXBlPSJTdGFydCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc2IiBsb2NhdG9yPSIxMjQ6ODgtMTI0OjEzMyIgbmFtZT0idG9JbnRlcnZhbCIgbGlicmFyeU5hbWU9IldDb20iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijc1IiBsb2NhdG9yPSIxMjQ6ODgtMTI0OjEyMCIgcGF0aD0icGVyZm9ybWVkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9Ijc0IiBsb2NhdG9yPSIxMjQ6ODgtMTI0OjExMCIgbmFtZT0iRmlyc3QgSGVhbHRoIGZhY2lsaXR5IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI4NyIgbG9jYXRvcj0iMTM0OjEtMTM1OjI2IiBuYW1lPSJBZ2UgU3RyYXRpZmllciIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijg3Ij4KICAgICAgICAgICAgICAgPGE6cz4vKiBlbmQgUG9wdWxhdGlvbnMgKi8KCi8qCiAqIERpc2FnZ3JlZ2F0b3JzCiAqLwoKCmRlZmluZSAmcXVvdDtBZ2UgU3RyYXRpZmllciZxdW90OzoKCTwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9Ijg2Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+SElFPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI4NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QnkgQWdlIFN0cmF0aWZpZXIgMyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijg2IiBsb2NhdG9yPSIxMzU6Mi0xMzU6MjYiIG5hbWU9IkJ5IEFnZSBTdHJhdGlmaWVyIDMiIGxpYnJhcnlOYW1lPSJISUUiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjkwIiBsb2NhdG9yPSIxMzc6MS0xMzg6MzgiIG5hbWU9Ikdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSI5MCI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0dlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXImcXVvdDs6Cgk8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI4OSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkhJRTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iODkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0J5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXImcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSI4OSIgbG9jYXRvcj0iMTM4OjItMTM4OjM4IiBuYW1lPSJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSI5OCIgbG9jYXRvcj0iMTQwOjEtMTQyOjQ1IiBuYW1lPSJTdHJhdGlmaWNhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9Ijk4Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7U3RyYXRpZmljYXRpb24mcXVvdDs6CiA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI5NyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+SElFPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSI5MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7QnkgQWdlIFN0cmF0aWZpZXIgMyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CisgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPic6JzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+ICsgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iOTYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5ISUU8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9Ijk2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9Ijk3IiBsb2NhdG9yPSIxNDE6Mi0xNDI6NDUiIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9Ijk0IiBsb2NhdG9yPSIxNDE6Mi0xNDI6NSIgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTIiIGxvY2F0b3I9IjE0MToyLTE0MToyNiIgbmFtZT0iQnkgQWdlIFN0cmF0aWZpZXIgMyIgbGlicmFyeU5hbWU9IkhJRSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iOTMiIGxvY2F0b3I9IjE0MjozLTE0Mjo1IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iOiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSI5NiIgbG9jYXRvcj0iMTQyOjktMTQyOjQ1IiBuYW1lPSJCeSBHZW9ncmFwaGljIFJlZ2lvbiBTdHJhdGlmaWVyIiBsaWJyYXJ5TmFtZT0iSElFIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo="
}
]
}